为谷歌 DFP 广告缩放到不同的安卓屏幕尺寸 - Phonegap
Posted
技术标签:
【中文标题】为谷歌 DFP 广告缩放到不同的安卓屏幕尺寸 - Phonegap【英文标题】:Scaling to different android screen size for google DFP ad - Phonegap 【发布时间】:2014-06-23 18:10:02 【问题描述】:我正在使用 Phonegap 为我们的商业网站开发一个 android 应用程序。我们需要使用广告客户提供的 Google DFP 广告素材,而不是启动画面。
问题是,Google DFP 加载成功,但即使在尝试了我们不同的“元”标记选项后也无法缩放。
1) meta id="testViewport" name="viewport" content="user-scalable=yes, initial-scale=1,maximum-scale=1, minimum-scale=1, target-densitydpi=device-dpi "
2) meta id="testViewport" name="viewport" content="user-scalable=no, initial-scale=1,maximum-scale=1, minimum-scale=1, target-densitydpi=device-dpi "
3) meta id="testViewport" name="viewport" content="initial-scale=1,maximum-scale=1, minimum-scale=1
还有其他各种组合。
另外,尝试添加一个在运行时设置 DFP 的高度和宽度的 javascript 脚本函数,但结果不成功。
提前非常感谢!!!
【问题讨论】:
【参考方案1】:终于解决了这个... 逻辑是获取设备的屏幕尺寸,并根据设备方向计算目标缩放值。 此代码必须添加到 'onCreate' 方法中。
// get actual screen size
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
// calculate target scale (ORIG_APP_W is max width of image, ORIG_APP_H is max height of image)
double globalScale_Width = Math.floor( ( width / ORIG_APP_W ) * 100 );
double globalScale_Height = Math.floor( ( height / ORIG_APP_H ) * 100 );
// set the scale based on orientation
if(deviceOrientation==getResources().getConfiguration().ORIENTATION_PORTRAIT)
super.appView.setInitialScale( (int)globalScale_Height);
else if(deviceOrientation==getResources().getConfiguration().ORIENTATION_LANDSCAPE)
super.appView.setInitialScale( (int)globalScale_Width);
【讨论】:
以上是关于为谷歌 DFP 广告缩放到不同的安卓屏幕尺寸 - Phonegap的主要内容,如果未能解决你的问题,请参考以下文章
IOS - 将背景图像缩放到不同的屏幕尺寸并将标签放在固定位置上
如何使用 Autolayout 缩放 Xcode 6 上的按钮以适应不同的屏幕尺寸?