我正在使用 Android 版 Google DFP (DoubleClick for Publishers) 广告
和 iPhone 设备,我想在特定的屏幕尺寸上展示广告
适用于 iOS 和 Android 中横向模式下的应用程序。我已经创建了一个订单然后我有
为该订单创建了一个订单项,并在该订单项内,我
根据物理尺寸创造出各种尺寸的“创意”
ios 和 android 的屏幕。然后我去库存并
获取所有创意的广告标签并将其合并到我的应用程序中
通过尺寸检查分开。
现在我面临的问题是在代码中,尽管正确的广告
标签已被访问,但我为该标签指定的广告素材(图像)是
随机挑选的。 Android 和 iPhone 均存在此问题。
我想知道为什么不只选择指定尺寸的广告素材(图片)?
是否有必要将iPhone和Android库存(广告素材)分开?
我也尝试过智能横幅尺寸和自定义横幅尺寸,但是
指定的广告素材未显示。
参考智能横幅:https://developers.google.com/mobile-ads- https://developers.google.com/mobile-ads-sdk/docs/dfp/android/banner#smart
参考自定义横幅:https://developers.google.com/mobile-ads- https://developers.google.com/mobile-ads-sdk/docs/dfp/android/banner#custom_size
此外,当我打开测试广告时,它们会显示在任何设备的整个宽度上,但我的广告不会显示在整个宽度上。尽管如果测试广告相对于设备的宽度较小,那么它会自动在广告的两侧添加一些背景以填充整个宽度。但当我的广告素材显示时,这种情况不会发生。
Android 和 iPhone 的代码:
Android:选择相应的屏幕尺寸广告
Fragment frag=new AdBannerFragment();
ArrayList<Integer> screenSize=Globals.getScreenSize
(getActivity());
Integer width=screenSize.get(0);
if (width==120) {
frag = new AdBannerFragment
("/235389899/Clubfitting-Update-15_320x50-120dpi");
} else if (width==160) {
frag = new AdBannerFragment
("/235389899/Clubfitting-Update-15_320x50-160dpi");
} else if (width==240) {
frag = new AdBannerFragment
("/235389899/Clubfitting-Update-15_320x50-240dpi");
}
else if (width==320) {
// frag = new AdBannerFragment
("/235389899/Clubfitting_4-14_320x50");
frag = new AdBannerFragment
("/235389899/Clubfitting-Update-15_320x50-320dpi");
} else if (width==480) {
// frag = new AdBannerFragment
("/235389899/Clubfitting_4-14_480x50");
frag = new AdBannerFragment
("/235389899/Clubfitting-Update-15_320x50-480dpi");
} else if (width==640){
// frag = new AdBannerFragment
("/235389899/Clubfitting_4-14_640x100");
frag = new AdBannerFragment
("/235389899/Clubfitting-Update-15_320x50-640dpi");
}else{
frag = new AdBannerFragment
("/235389899/Clubfitting-Update-15_320x50-640dpi");
}
AdBanner 片段代码(设置和加载横幅):
AdSize customAdSize = new AdSize(AdSize.FULL_WIDTH, 50);
adView = new PublisherAdView(activity2);
//I have also tried smart banners.
adView.setAdSizes(customAdSize);
mAdContainer.addView(adView);
adView.setAdUnitId(mTag);
adView.loadAd(new PublisherAdRequest.Builder
().build());
iPhone:选择相应的屏幕尺寸广告
CGSize screenSize;
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0"))
{
screenSize = [UIScreen mainScreen].nativeBounds.size;
}
else
{
screenSize = [UIScreen mainScreen].bounds.size;
}
NSLog(@"screen size: %@ banner frame: %@",NSStringFromCGSize(screenSize),NSStringFromCGSize(self.bannerVw.frame.size));
if (screenSize.width== 1920)
{
self.bannerVw.adUnitID = @"/235389899/Clubfitting-Update-15_736x90";
self.bannerVw.adSize = GADAdSizeFromCGSize(CGSizeMake(736, 90));
}
else if (screenSize.width== 1334)
{
self.bannerVw.adUnitID = @"/235389899/Clubfitting-Update-15_667x50";
self.bannerVw.adSize = GADAdSizeFromCGSize(CGSizeMake(667, 50));
}
else if (screenSize.width== 1136)
{
self.bannerVw.adUnitID = @"/235389899/Clubfitting-Update-15_568x50";
self.bannerVw.adSize = GADAdSizeFromCGSize(CGSizeMake(568, 50));
}
else if (screenSize.width== 960)
{
self.bannerVw.adUnitID = @"/235389899/Clubfitting-Update-15_480x50";
self.bannerVw.adSize = GADAdSizeFromCGSize(CGSizeMake(480, 50));
}
else //default
{
self.bannerVw.adUnitID = @"/235389899/Clubfitting-Update-15_736x90";
self.bannerVw.adSize = GADAdSizeFromCGSize(CGSizeMake(736, 90));
}
AdBanner 片段代码(设置和加载横幅):
self.bannerVw.rootViewController = self;
//I am currently using custom sizes and check smart anners also.
// self.bannerVw.adSize = kGADAdSizeSmartBannerLandscape;
[self.bannerVw setDelegate:self];
GADRequest *request = [GADRequest request];
// request.testDevices = @[ GAD_SIMULATOR_ID ];
[self.bannerVw loadRequest:request];