本指南适用于希望使用 AdMob 来通过集成了 Firebase 的 iOS 应用获利的发布商。如果您不打算在应用中集成 Firebase,请参阅本指南的独立 AdMob 版本。
导入并初始化 Google Mobile Ads SDK 是展示 AdMob 广告并获得收入的第一步。完成该步后,您可以选择一种广告格式(例如原生广告或激励视频广告)并获得一套详细的实现步骤。
前提条件
导入 Mobile Ads SDK
将 Mobile Ads SDK 的依赖项添加到项目的 Podfile 中:
pod 'Firebase/Analytics'
pod 'Firebase/AdMob'
然后使用命令行运行以下命令:
pod install --repo-update
更新您的 Info.plist
在您应用的 Info.plist
文件中,请添加一个 GADApplicationIdentifier
键,其值为字符串形式的 AdMob 应用 ID。您可以通过编程方式进行此项更改:
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>
您也可以在属性列表编辑器中进行修改:
初始化移动广告
在加载广告之前,请在 GADMobileAds.sharedInstance
上调用 startWithCompletionHandler:
方法以初始化 SDK,并在初始化完成后(或 30 秒超时后)回调完成处理程序。此操作只需执行一次,最好是在应用启动时执行。您应该尽早调用 startWithCompletionHandler:
。
以下示例展示了如何在 AppDelegate
中调用 startWithCompletionHandler:
方法:
Swift
import Firebase ... @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Use Firebase library to configure APIs. FirebaseApp.configure() // Initialize the Google Mobile Ads SDK. GADMobileAds.sharedInstance().start(completionHandler: nil) return true } }
Objective-C
@import Firebase; ... @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Use Firebase library to configure APIs. [FIRApp configure]; // Initialize the Google Mobile Ads SDK. [[GADMobileAds sharedInstance] startWithCompletionHandler:nil]; return YES; } @end
选择广告格式
Mobile Ads SDK 现在已导入并初始化,您可以实现广告了。AdMob 提供多种不同的广告格式,您可以选择最适合您应用的用户体验的广告格式。
横幅广告
横幅广告是在应用布局中占据部分位置的矩形图片或文字广告。用户与应用互动时,这类广告会保留在屏幕上,并且可在一段时间后自动刷新。如果您是刚开始接触移动广告的新手,横幅广告是您的绝佳选择。
插页式广告
插页式广告是一种全屏广告,如果用户不关闭广告,它会覆盖整个应用界面。这类广告最适合在应用执行流程中的自然暂停位置展示,例如游戏关卡之间或是用户刚完成一项任务之后。
原生广告
原生广告是一种基于组件的广告格式,您可以随意自定义素材资源(如标题和号召性用语)在应用中的展示方式。您可以自行选择字体、颜色和其他具体设置,呈现出自然、低调内敛的广告展示效果,从而使用户体验更加丰富。
目前,原生广告尚处于封闭测试阶段,仅对少数发布商开放。
激励视频广告
激励视频广告是一种全屏视频广告,用户可以选择以全屏模式观看,以换取应用内奖励。