AdMob(app内嵌广告)横幅广告
2016-11-12 21:57
337 查看
Demo in GitHub:点击打开链接
横幅广告
在使用入门指南中,您已了解如何部署 SDK 和显示测试横幅广告。 本指南将介绍如何进一步自定义横幅广告。要查看这些横幅广告自定义化的实现,请下载采用 Objective-C 或 Swift 的 iOS API 演示应用。
下载
API 演示
横幅尺寸
Google 移动广告支持下列横幅尺寸:尺寸 (WxH) | 说明 | 可用性 | AdSize 常量 |
---|---|---|---|
320x50 | 标准横幅 | 手机和平板电脑 | kGADAdSizeBanner |
320x100 | 大型横幅 | 手机和平板电脑 | kGADAdSizeLargeBanner |
300x250 | IAB 中等矩形 | 手机和平板电脑 | kGADAdSizeMediumRectangle |
468x60 | IAB 全尺寸横幅 | 平板电脑 | kGADAdSizeFullBanner |
728x90 | IAB 排行榜 | 平板电脑 | kGADAdSizeLeaderboard |
屏幕宽度 x 32|50|90 | 智能横幅 | 手机和平板电脑 | kGADAdSizeSmartBannerPortrait kGADAdSizeSmartBannerLandscape |
Smart Banners
Smart Banners 是在不同设备的任何屏幕尺寸中沿任何屏幕方向呈现完整屏幕宽度横幅广告的广告单元。 通过"智能"检测手机当前屏幕方向的宽度并将广告视图设置为该尺寸,Smart Banners 有助于解决不同设备之间日益加的屏幕片段。
智能横幅中已实现三种广告高度(以密度无关的像素[dp])。
32: 设备屏幕高度 <=
400
50: 400
< 设备屏幕高度 <= 720
90: 设备屏幕高度 >
720
对于某些设备(如手机),设备高度将因其屏幕方向而异。 通常,手机上的智能横幅广告为纵向全宽度 x 50dp 和横向全宽度 x 32dp,但平板电脑上的广告在两种屏幕方向都是全宽度 x 90dp。
当图像广告不足以占据分配的整个空间时,图像将放置在中心且将填充任一侧的空间。
若要使用智能横幅,您需要使用常量
kGADAdSizeSmartBannerPortrait或
kGADAdSizeSmartBannerLandscape,如下所示:
OBJECTIVE-C
SWIFT
// Use kGADAdSizeSmartBannerLandscape if your app is running in landscape. GADBannerView *bannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];
有关智能横幅在 iOS API 演示应用中的实现,请参阅"AdMob 横幅尺寸"示例。
OBJECTIVE-C SWIFT
注:一些中介广告网络尚未支持智能横幅 — 使用特定网络验证。
广告生命周期事件回调
通过实现所有或部分 GADBannerViewDelegate,您可以选择跟踪广告生命周期事件,如请求失败或"点击率"。
OBJECTIVE-C
SWIFT
@protocol GADBannerViewDelegate <NSObject> @optional - (void)adViewDidReceiveAd:(GADBannerView *)bannerView; - (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error; - (void)adViewWillPresentScreen:(GADBannerView *)bannerView; - (void)adViewDidDismissScreen:(GADBannerView *)bannerView; - (void)adViewWillDismissScreen:(GADBannerView *)bannerView; - (void)adViewWillLeaveApplication:(GADBannerView *)bannerView; @end
可以在一个单独的对象(如视图控制器)中实现这些方法:
OBJECTIVE-C
SWIFT
@import GoogleMobileAds; @interface ViewController : UIViewController <GADBannerViewDelegate> { } @end
或作为
GADBannerView子类的一部分:
OBJECTIVE-C
SWIFT
@import GoogleMobileAds; @interface MyBannerView : GADBannerView <GADBannerViewDelegate> { } @end
请谨记,在请求广告之前先设置代理:
OBJECTIVE-C
SWIFT
self.bannerView.delegate = self;
adViewDidReceiveAd:
:在 loadRequest 时发送:已成功。这是将发送者添加到视图层次的好机会(如果到目前为止已隐藏视图层次),例如:
OBJECTIVE-C
SWIFT
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView { bannerView.hidden = NO; }
adView:didFailToReceiveAdWithError:
:当 loadRequest:失败时发送,通常是网络故障、应用配置错误或缺少广告库存导致的。您可能希望记录这些事件以进行调试:
OBJECTIVE-C
SWIFT
- (void)adView:(GADBannerView *)adView didFailToReceiveAdWithError:(GADRequestError *)error { NSLog(@"adView:didFailToReceiveAdWithError: %@", error.localizedDescription); }
adViewWillPresentScreen:
:在向用户显示全屏广告 UI 以响应他们触摸发件人之前立即发送。 此时,您应暂停所有动画演示、定时器或假定用户交互和保存应用状态的其他活动,与在 UIApplicationDidEnterBackgroundNotification上相似。通常情况下,用户只浏览全屏广告并清除它,从而生成
adViewDidDismissScreen:并恢复对您的应用的控制。
如果此横幅的操作为"Click-to-App-Store"或"Click-to-iTunes",或用户在广告中按"Home",那么,您的应用将在后台运行或可能被终止。
如果是在 iOS 4.0+ 下使用,调用的下一个方法将是您的根视图控制器的
applicationWillResignActive:,然后是
adViewWillLeaveApplication:。
adViewDidDismissScreen:
:在用户已退出发送者的全屏 UI 后发送。
adViewWillDismissScreen:
:在清除发送者的全屏 UI 之前立即发送,恢复您的应用和根视图控制器。 此时,您应重启作为 adViewWillPresentScreen:的一部分暂停的所有前台活动。
adViewWillLeaveApplication:
:就在应用处于后台运行或因用户触摸"Click-to-App-Store"或"Click-to-iTunes"横幅而终止之前发送。 正常情况下,UIApplicationDelegate通知(如
applicationDidEnterBackground:)将在这之前立即送达。
请勿在
applicationWillEnterForeground:中请求广告,因为该请求将被忽略。 而应在
applicationDidBecomeActive:中进行请求。
不保留 Objective-C 代理,并且可能在最终解除委托对象之前异步发送消息。
有关广告生命周期事件回调在 iOS API 演示应用中的实现,请参阅"AdMob 广告代理"示例。
OBJECTIVE-C SWIFT
后续操作
要了解如何以兼容的方式最好地实现横幅广告,请查看横幅广告指南。要了解全屏插页式广告,请查看插页式广告指南。
要了解如何有针对性地投放广告,请查看目标指南。
要探索横幅广告的更多功能,请查看广告事件指南。
相关文章推荐
- 如何使用AdMob Pro插件添加横幅广告到PhoneGap应用程序
- 在AdMob中介内创建横幅广告自定义事件
- 谷歌AdMob广告接入(横幅广告)
- 横幅广告(1)Admob
- AdMob(app内嵌广告)使用入门
- AdMob(app内嵌广告)iOS 9 注意事项
- 横幅广告(2)admob
- AdMob(app内嵌广告)插页广告
- AdMob(app内嵌广告)原生广告
- 如何使用AdMob在PhoneGap应用程序导航库中添加插入式广告
- 开始Admob广告盈利模式详细教程
- IOS Cocos2dx 添加Admob 广告错误
- Google广告AdMob的集成和使用
- AdMob奖励广告的入门指南
- 游戏中集成unity admob视频广告中文教程
- AdMob广告添加方法
- 被横幅广告已经过时
- admob 广告代码参考 iOS banner广告
- 全球最大的手机广告平台——AdMob广告介绍
- IOS中AdMob广告点击后方向旋转