内购(IAP)并不是iOS应用赚钱的唯一方式——对很多应用来说甚至不是最好的方式。工具类、内容类和休闲游戏应用拥有大量免费用户,主要通过广告变现:横幅、插屏、激励视频、原生广告和应用开屏广告。在2026年,标准技术栈已经非常成熟——AdMob的Google Mobile Ads SDK、Apple的App Tracking Transparency(ATT)授权弹窗、以及用于归因的SKAdNetwork。本教程将从创建账号到App Store合规,一步步带你走完整个配置流程,所有关键事实均来自Google与Apple官方文档。
为什么选广告,广告放在哪里
广告能把永远不会付费的用户变成收入,而且广告与内购是互补关系而非竞争关系。设计得当的激励广告甚至能提升内购收入——用户看一段视频即可换取游戏币或解锁高级功能。常见的模式是:工具和内容应用只靠广告变现,游戏采用广告+内购混合模式,媒体类应用采用订阅+广告模式。写代码之前,先根据你的用户群体决定采用哪种模式——它决定了你要接入的广告形式和围绕广告设计的用户流程。
第一步:选择广告形式
适用于iOS的Google Mobile Ads SDK支持五种主要广告形式,每种都在收入与用户体验之间有不同取舍:
- 横幅广告(Banner) — 常驻页面顶部的细条广告。eCPM最低,但始终可见、干扰最小。
- 插屏广告(Interstitial) — 在自然节点(关卡完成、文章翻页)展示的全屏广告。单次展示收入更高;但要严格控制频率,避免用户流失。
- 激励视频(Rewarded) — 用户主动选择观看视频,换取奖励(额外生命、高级功能、积分)。参与度最高,也最不容易引起反感,因为这是用户自己的选择。
- 原生广告(Native) — 广告样式与应用设计保持一致。最适合内容信息流这类横幅广告显得突兀的场景。
- 开屏广告(App open) — 应用启动时展示的全屏广告。对打开频率高的应用能带来可观增量收入,但过度使用会伤害首次印象和评分。
大多数成功案例从「激励视频+低频插屏」起步,等上线数据证明用户高频回访后,再加入开屏广告。
第二步:创建AdMob账号并注册应用
AdMob使用你的Google账号登录——在 admob.google.com 登录后添加你的iOS应用。控制台会分配一个AdMob App ID(格式类似 ca-app-pub-XXXXXXXXXXXX~YYYYYYYYYY),并允许你创建广告单元,每个单元都有独立ID。App ID会写进Info.plist,广告单元ID用于代码中。先注册应用还能让后续步骤更具体——SDK初始化和AdMob后台都绑定这个App ID。
第三步:接入Google Mobile Ads SDK
根据Google官方快速开始文档,当前要求是Xcode 16.0或更高版本,target iOS 12.0或更高,SDK可通过Swift Package Manager、CocoaPods或手动下载导入。有三个集成细节值得一次做对:
- 尽早导入并初始化 — 在启动流程中、首次请求广告之前,导入
GoogleMobileAds并调用GADMobileAds.sharedInstance().start()。 - 链接器参数 — 官方文档要求(非SPM方式时)在Other Linker Flags中加入
-ObjC。 - Swift运行路径 — 需要的项目在Runpath Search Paths中加入
/usr/lib/swift。
初始化完成后,通过对应的广告类(GADBannerView、GADInterstitialAd、GADRewardedAd等)请求广告,每个类都使用各自的广告单元ID。
第四步:配置Info.plist——两个解锁一切的关键密钥
Google快速开始文档明确指出,广告正常展示前,Info.plist必须包含以下内容:
GADApplicationIdentifier— 字符串类型,值为你的AdMob App ID。缺少它SDK会拒绝加载广告。SKAdNetworkItems— 由多个SKAdNetworkIdentifier组成的数组,首先要包含Google自己的cstr6suwn9.skadnetwork,再加上你使用的第三方广告买方ID。
第二个密钥是后IDFA时代归因能够运转的关键。Apple的SKAdNetwork框架允许广告网络在看不到设备广告标识符的情况下完成安装归因,Google隐私文档也明确说明:即使IDFA不可用,Mobile Ads SDK也能通过SKAdNetwork进行转化追踪。
第五步:正确处理好App Tracking Transparency(ATT)
自iOS 14.5起,访问广告标识符(IDFA)的应用必须先通过ATT弹窗获得用户授权。这一步做错,是审核被拒和广告收入悄悄归零的头号原因:
- 在Info.plist中添加
NSUserTrackingUsageDescription,用通俗语言解释追踪目的(例如「用于展示个性化广告并衡量广告效果」)。 - 在自然时机调用
ATTrackingManager.requestTrackingAuthorization——通常在新手引导结束后、第一条激励/插屏广告出现之前,而不是应用启动的第一屏。 - 如果用户拒绝,IDFA会全部变成0。这不是失败:Google的隐私策略文档确认SDK仍能正常工作,并依靠SKAdNetwork完成转化追踪。请把数据分析预期建立在「授权可能被拒」这一现实上,而不是把拒绝当成错误状态。
设计建议:当用户理解价值时,ATT弹窗的授权率最高。如果你的应用靠广告免费提供,请在弹窗文案里直接说明——「本应用因展示广告而免费」比一句泛泛的追踪声明更诚实,也更有效。
第六步:上线前先测试
AdMob提供测试广告单元ID(返回示例广告),SDK也支持把设备注册为测试设备,开发期间不会加载真实广告。测试有两个意义:一是验证每种广告形式的渲染和回调是否正确(横幅渲染、插屏加载与关闭、激励视频完成回调、开屏广告时机);二是保护账号不被标记——自己测试时产生的真实广告请求会被判定为无效活动。上线前请把计划发布的所有广告形式完整跑一遍。
第七步:App Store合规不可跳过
广告变现会触发提交前必须完成的App Store要求:
- App Privacy隐私标签 — Apple的App Privacy Details要求申报数据收集情况。使用广告标识符的广告应用,必须把「Advertising(广告)」声明为数据类型、「Third-Party Advertising(第三方广告)」声明为用途。标签填写不准确是常见的审核拒绝原因。
- 儿童类目限制 — 面向儿童的应用在App Review指南下对广告和追踪有严格限制,儿童类目一般不允许接入第三方广告SDK。如果你的应用面向儿童,广告通常不是一个可行的变现模式。
- 付款门槛 — AdMob会暂存收入,直到达到你所在国家的最低付款门槛(可在AdMob账号的Payments页面查看)。前几个月的现金流要提前规划。
补充:Apple Search Ads作为增长渠道
在App Store内部投放广告是应用内广告变现的自然补充。Apple Search Ads会把你的应用展示在相关搜索结果顶部,按点击付费,支持按关键词和受众设置广告组。两套体系配合得很顺:Search Ads带来安装,应用内广告则把安装带来的用户变现——包括用激励广告重新激活沉默用户。
一句话总结
2026年iOS广告变现的完整链路是:确定广告形式 → 在AdMob注册应用 → 接入Mobile Ads SDK(Xcode 16+、iOS 12+)→ 在Info.plist中配置 GADApplicationIdentifier 和 SKAdNetworkItems → 诚实处理ATT弹窗 → 用测试广告单元验证 → 在App Privacy标签中申报广告用途。框架已经很成熟,官方文档非常精确——真正翻车的应用,都是漏掉某个密钥、藏起追踪弹窗、或者把ATT被拒当成灾难而不是正常结果。