本指南介绍了如何使用 Google 移动广告 SDK 使用 中介加载和展示 Unity Ads 中的广告,涵盖广告瀑布流集成。其中介绍了如何将 Unity Ads 添加到广告单元的中介配置,以及如何将 Unity Ads SDK 和适配器集成到 iOS 应用中。
支持的集成和广告格式
Unity Ads 的中介适配器具有以下功能:
集成 | |
---|---|
出价 | 1 |
瀑布 | |
表现形式 | |
横幅 | |
插页式广告 | |
激励广告 | |
原生 |
1 出价集成功能目前处于封闭式 Beta 版测试阶段,如需申请访问权限,请与您的客户经理联系。
要求
- iOS 部署目标为 12.0 或更高版本
最新版 Google 移动广告 SDK
看完中介服务入门指南
第 1 步:在 Unity Ads 界面中设置配置
注册或登录 Unity Ads。
创建项目
在 Unity Ads 信息中心内,前往 Projects(项目),然后点击 Create Project(创建项目)。
填写表单,然后点击创建项目以添加您的项目。
依次前往创收 > 开始,然后点击开始。
在 Project Setup 模态窗口中,选择 I plan to use Mediation(我计划使用中介)和 Google Admob(Google Admob)作为中介合作伙伴,然后点击 Next(下一步)。
选择广告设置,然后点击下一步。
填写表单,然后点击添加项目。
记下游戏 ID。
创建广告单元
依次前往创收 > 广告单元,然后点击添加广告单元。
输入广告单元名称,然后选择平台和广告格式。
最后,点击创建以保存您的广告单元。
添加展示位置
出价
要创建出价展示位置,请与您的 Google 客户经理联系。
瀑布
创建项目后,依次前往创收 > 展示位置。如需创建新的展示位置,请点击广告单元的添加展示位置。
填写必要的详细信息,然后点击添加展示位置。
记下展示位置 ID。
找到 Unity Ads Reporting API 密钥
出价
对于出价集成,不需要执行此步骤。
瀑布
除了游戏 ID 和展示位置 ID 之外,您还需要 Unity Ads API 密钥和组织核心 ID 才能设置 AdMob 广告单元 ID。
依次前往创收 > 设置 > API 管理,并记下 Monetize Stats API 访问密钥。
然后,依次前往创收 > 组织设置,记下组织核心 ID。
开启测试模式
您可以通过 Unity Ads 信息中心启用测试模式。在项目的设置下,选择测试标签页。
如需为应用强制启用测试模式,请点击 Apple App Store 旁边的“修改”按钮,选中替换客户端测试模式,然后选择为所有设备强制启用测试模式(即使用测试广告)。
或者,您也可以点击 Add Test Device 按钮来为特定设备启用测试模式。
填写表单并点击保存。
第 2 步:在 Ad Manager 界面中设置 Unity Ads 需求来源
将 Unity Ads 添加到 GDPR 和美国州级法规广告合作伙伴列表
按照 GDPR 设置和美国州级法规设置中的步骤操作,将 Unity Ads 添加到 AdMob 界面中的 GDPR 和美国州级法规广告合作伙伴列表中。
第 3 步:导入 Unity Ads SDK 和适配器
使用 CocoaPods(推荐)
将以下代码行添加到项目的 Podfile 中:
pod 'GoogleMobileAdsMediationUnity'
在命令行中运行以下命令:
pod install --repo-update
手动集成
下载最新版本的 Unity Ads SDK,并在项目中关联 UnityAds.framework。
从更新日志中的下载链接下载最新版 Unity Ads 适配器,然后在项目中关联 UnityAdapter.framework。
第 4 步:在 Unity Ads SDK 上实现隐私设置
欧盟地区用户意见征求和 GDPR
根据 Google 《欧盟地区用户意见征求政策》,您必须确保向位于欧洲经济区 (EEA) 的用户披露相关信息并征求他们的意见,说明您将如何使用设备标识符和个人数据。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。在征求用户意见时,您必须指明中介链中可能会收集、接收或使用个人数据的每个广告联盟,并提供有关每个广告联盟使用情况的信息。Google 目前无法将用户意见征求结果自动传递给此类广告联盟。
在 SDK 2.0.0 版中,Unity Ads 添加了一个 API 来支持隐私设置。以下示例代码展示了如何将此意见征求信息传递给 Unity Ads SDK。如果您选择手动将意见征求信息传递给 Unity Ads SDK,建议您先调用此代码,然后再通过 Google 移动广告 SDK 请求广告。
Swift
import UnityAds
// ...
let gdprMetaData = UADSMetaData()
gdprMetaData.set("gdpr.consent", value: true)
gdprMetaData.commit()
Objective-C
#import <UnityAds/UnityAds.h>
// ...
UADSMetaData *gdprMetaData = [[UADSMetaData alloc] init];
[gdprMetaData set:@"gdpr.consent" value:@YES];
[gdprMetaData commit];
如需了解详情以及每种方法中提供的值,请参阅 Unity Ads 的 Privacy Consent and Data API(隐私权同意和数据 API)和 遵守 GDPR 指南。
美国州级隐私保护法律
美国州级隐私保护法律 规定,用户有权选择不“出售”其“个人信息”(该法律对这些术语进行了定义),“出售”方首页上醒目的“请勿出售我的个人信息”链接提供该拒绝选项。根据美国州级隐私保护法律合规性指南,您可以为 Google 广告投放启用受限的数据处理,但 Google 无法将此设置应用于中介链中的每个广告联盟。因此,您必须找出中介链中可能参与出售个人信息的每个广告联盟,并按照每个广告联盟的指导来确保遵守该政策。
在 SDK 2.0.0 版中,Unity Ads 添加了一个 API 来支持隐私设置。以下示例代码展示了如何将此意见征求信息传递给 Unity Ads SDK。如果您选择手动将用户意见征求信息传递给 Unity Ads SDK,建议您在通过 Google 移动广告 SDK 请求广告之前调用此代码。
Swift
import UnityAds
// ...
let ccpaMetaData = UADSMetaData()
ccpaMetaData.set("privacy.consent", value: true)
ccpaMetaData.commit()
Objective-C
#import <UnityAds/UnityAds.h>
// ...
UADSMetaData *ccpaMetaData = [[UADSMetaData alloc] init];
[ccpaMetaData set:@"privacy.consent" value:@YES];
[ccpaMetaData commit];
如需了解详情以及可在每种方法中提供的值,请参阅 Unity Ads 的隐私权许可和数据 API 和 遵守 CCPA 指南。
第 5 步:添加所需代码
SKAdNetwork 集成
按照 Unity Ads 文档中的说明,将 SKAdNetwork 标识符添加到项目的 Info.plist
文件中。
编译错误
Swift
无需额外的代码即可进行 Swift 集成。
Objective-C
对于 Unity Ads 适配器 4.4.0.0 或更高版本,您必须按照 Unity 文档中的集成步骤操作。
第 6 步:测试您的实现
启用测试广告
请务必为Ad Manager 注册您的测试设备,并在 Unity Ads 界面中启用测试模式。
验证测试广告
如需验证您收到的是来自Unity Ads的测试广告,请使用相应广告来源在广告检查器中启用单一广告来源测试。 Unity Ads (Waterfall)
错误代码
如果适配器未能从 Unity Ads 收到广告,发布商可以使用以下类下的
GADResponseInfo.adNetworkInfoArray
:
GADMAdapterUnity
GADMediationAdapterUnity
以下是 UnityAds 适配器在广告加载失败时抛出的代码和随附消息:
错误代码 | 原因 |
---|---|
0-9 | UnityAds SDK 返回了错误。如需了解详情,请参阅 Unity 的文档。 |
101 | 在 Ad Manager 界面中配置的 UnityAds 服务器参数缺失/无效。 |
102 | 设备不受 UnityAds 支持。 |
103 | UnityAds 完成展示,错误状态为 kUnityAdsFinishStateError。 |
104 | 调用其初始化程序后,Unity 广告对象为 nil。 |
105 | 由于广告未准备就绪,未能展示 Unity 广告。 |
106 | UnityAds 在展示位置状态为 kUnityAdsPlacementStateNoFill 的情况下,调用了“展示位置已更改”回调。 |
107 | UnityAds 调用了展示位置更改回调,展示位置状态为 kUnityAdsPlacementStateDisabled。 |
108 | 已为此展示位置加载了一个广告。UnityAds SDK 不支持为同一展示位置加载多个广告。 |
Unity Ads iOS 中介适配器更新日志
版本 4.12.3.1
- 更新了
CFBundleShortVersionString
,使其包含三个组件,而不是四个。
构建和测试所需版本:
- Google 移动广告 SDK 版本 11.10.0。
- Unity Ads SDK 版本 4.12.3。
版本 4.12.3.0
- 已经验证与 Unity Ads SDK 4.12.3 兼容。
构建和测试所需版本:
- Google 移动广告 SDK 版本 11.10.0。
- Unity Ads SDK 版本 4.12.3。
版本 4.12.2.0
- 已经验证与 Unity Ads SDK 4.12.2 的兼容性。
构建和测试所需系统:
- Google 移动广告 SDK 11.7.0 版。
- Unity Ads SDK 版本 4.12.2。
版本 4.12.1.0
- 已经验证与 Unity Ads SDK 4.12.1 兼容。
构建和测试所需版本:
- Google 移动广告 SDK 11.6.0 版。
- Unity Ads SDK 版本 4.12.1。
版本 4.12.0.0
- 已经验证与 Unity Ads SDK 4.12.0 兼容。
构建和测试所需版本:
- Google 移动广告 SDK 11.5.0 版。
- Unity Ads SDK 版本 4.12.0。
版本 4.11.3.1
- 添加了对横幅广告、插页式广告和激励广告格式的出价支持。
构建和测试所需版本:
- Google 移动广告 SDK 11.5.0 版。
- Unity Ads SDK 4.11.3 版。
版本 4.11.3.0
- 已经验证与 Unity Ads SDK 4.11.3 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 11.4.0 版。
- Unity Ads SDK 版本 4.11.3。
版本 4.11.2.0
- 已经验证与 Unity Ads SDK 4.11.2 兼容。
构建和测试所需版本:
- Google 移动广告 SDK 11.4.0 版。
- Unity Ads SDK 版本 4.11.2。
版本 4.10.0.0
- 已经验证与 Unity Ads SDK 4.10.0 兼容。
构建和测试所需系统:
- Google 移动广告 SDK 11.2.0 版。
- Unity Ads SDK 版本 4.10.0。
版本 4.9.3.0
- 已经验证与 Unity Ads SDK 4.9.3 兼容。
- 现在,最低 iOS 版本要求为 12.0。
- 现在需要 Google 移动广告 SDK 11.0 或更高版本。
- 在
UnityAdapter.xcframework
的框架中添加了Info.plist
。
构建和测试所需系统:
- Google 移动广告 SDK 11.0.1 版。
- Unity Ads SDK 4.9.3 版。
版本 4.9.2.0
- 已经验证与 Unity Ads SDK 4.9.2 的兼容性。
构建和测试所需系统:
- Google 移动广告 SDK 10.13.0 版。
- Unity Ads SDK 版本 4.9.2。
版本 4.9.1.0
- 已经验证与 Unity Ads SDK 4.9.1 兼容。
构建和测试所需系统:
- Google 移动广告 SDK 10.12.0 版。
- Unity Ads SDK 4.9.1 版。
版本 4.9.0.0
- 从 Unity 适配器中移除了
GADMAdNetworkAdapter
一致性和依赖项。 - 在
unityAdsShowStart
委托方法中添加了报告展示次数方法调用。 - 已经验证与 Unity Ads SDK 4.9.0 的兼容性。
构建和测试所需系统:
- Google 移动广告 SDK 10.12.0 版。
- Unity Ads SDK 版本 4.9.0。
版本 4.8.0.0
- 新增了对横幅广告展示事件的支持。
- 已经验证与 Unity Ads SDK 4.8.0 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 10.7.0 版。
- Unity Ads SDK 版本 4.8.0。
版本 4.7.1.0
- 已验证与 Unity Ads SDK 4.7.1 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 10.5.0 版。
- Unity Ads SDK 4.7.1 版。
版本 4.7.0.0
- 已经验证与 Unity Ads SDK 4.7.0 兼容。
- 现在,最低 iOS 版本要求为 11.0。
- 现在需要 Google 移动广告 SDK 10.4.0 或更高版本。
构建和测试所需版本:
- Google 移动广告 SDK 10.4.0 版。
- Unity Ads SDK 4.7.0 版。
版本 4.6.1.0
- 已验证与 Unity Ads SDK 4.6.1 的兼容性。
构建和测试所需系统:
- Google 移动广告 SDK 10.2.0 版。
- Unity Ads SDK 版本 4.6.1。
版本 4.6.0.0
- 已验证与 Unity Ads SDK 4.6.0 的兼容性。
- 新增了对将 COPPA 信息转发到 Unity Ads SDK 的支持。
- 移除了对
armv7
架构的支持。 - 现在需要 Google 移动广告 SDK 10.0.0 或更高版本。
构建和测试所需系统:
- Google 移动广告 SDK 10.2.0 版。
- Unity Ads SDK 版本 4.6.0。
版本 4.5.0.0
- 已经验证与 Unity Ads SDK 4.5.0 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 9.14.0 版。
- Unity Ads SDK 4.5.0 版。
版本 4.4.1.0
- 已经验证与 Unity Ads SDK 4.4.1 兼容。
构建和测试所需版本:
- Google 移动广告 SDK 9.11.0 版。
- Unity Ads SDK 版本 4.4.1。
版本 4.4.0.0
- 更新了适配器以使用
didRewardUser
API。 - 现在需要 Google 移动广告 SDK 9.8.0 或更高版本。
- 已验证与 Unity Ads SDK 4.4.0 的兼容性。
构建和测试所需系统:
- Google 移动广告 SDK 9.10.0 版。
- Unity Ads SDK 版本 4.4.0。
版本 4.3.0.0
- 已经验证与 Unity Ads SDK 4.3.0 的兼容性。
构建和测试所需系统:
- Google 移动广告 SDK 9.8.0 版。
- Unity Ads SDK 版本 4.3.0。
版本 4.2.1.0
- 已验证与 Unity Ads SDK 4.2.1 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 9.4.0 版。
- Unity Ads SDK 版本 4.2.1。
版本 4.1.0.0
- 已验证与 Unity Ads SDK 4.1.0 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 9.2.0 版。
- Unity Ads SDK 4.1.0 版。
版本 4.0.1.0
- 已经验证与 Unity Ads SDK 4.0.1 的兼容性。
构建和测试所需版本:
- Google 移动广告 SDK 9.0.0 版。
- Unity Ads SDK 4.0.1 版。
版本 4.0.0.2
- 添加了对 arm64 模拟器架构的支持。
构建和测试所需版本:
- Google 移动广告 SDK 9.0.0 版。
- Unity Ads SDK 版本 4.0.0。
版本 4.0.0.1
- 已验证与 Google 移动广告 SDK 9.0.0 版兼容。
- 现在需要 Google 移动广告 SDK 9.0.0 或更高版本。
构建和测试所需系统:
- Google 移动广告 SDK 9.0.0 版。
- Unity Ads SDK 4.0.0 版。
版本 4.0.0.0
- 已经验证与 Unity Ads SDK 4.0.0 兼容。
- 现在要求最低 iOS 版本为 10.0。
构建和测试所需版本
- Google 移动广告 SDK 8.13.0 版。
- Unity Ads SDK 4.0.0 版。
版本 3.7.5.0
- 已验证与 Unity Ads SDK 3.7.5 的兼容性。
构建和测试所用的
- Google 移动广告 SDK 8.8.0 版。
- Unity Ads SDK 版本 3.7.5。
版本 3.7.4.0
- 已验证与 Unity Ads SDK 3.7.4 的兼容性。
构建和测试所用的
- Google 移动广告 SDK 8.7.0 版。
- Unity Ads SDK 版本 3.7.4。
版本 3.7.2.0
- 已验证与 Unity Ads SDK 3.7.2 的兼容性。
- 放宽了对 Google 移动广告 SDK 8.0.0 或更高版本的依赖。
构建和测试所需版本
- Google 移动广告 SDK 8.5.0 版。
- Unity Ads SDK 版本 3.7.2。
版本 3.7.1.0
- 已经验证与 Unity Ads SDK 3.7.1 兼容。
- 现在需要 Google 移动广告 SDK 8.4.0 或更高版本。
构建和测试所用的
- Google 移动广告 SDK 8.4.0 版。
- Unity Ads SDK 版本 3.7.1。
版本 3.6.2.0
- 将适配器更新为使用
.xcframework
格式。 - 已验证与 Unity Ads SDK 3.6.2 的兼容性。
- 现在需要 Google 移动广告 SDK 8.2.0 或更高版本。
构建和测试所用的
- Google 移动广告 SDK 8.2.0 版。
- Unity Ads SDK 3.6.2 版。
版本 3.6.0.0
- 已经验证与 Unity Ads SDK 3.6.0 的兼容性。
- 现在需要 Google 移动广告 SDK 7.69.0 或更高版本。
构建和测试所需版本
- Google 移动广告 SDK 7.69.0 版。
- Unity Ads SDK 3.6.0 版。
版本 3.5.1.1
- 修复了 Unity Ads SDK 完成初始化时有时会发生崩溃的问题。
构建和测试所用的
- Google 移动广告 SDK 7.68.0 版。
- Unity Ads SDK 版本 3.5.1。
版本 3.5.1.0
- 已经验证与 Unity Ads SDK 3.5.1 兼容。
构建和测试所需版本
- Google 移动广告 SDK 7.68.0 版。
- Unity Ads SDK 版本 3.5.1。
版本 3.5.0.0
- 已经验证与 Unity Ads SDK 3.5.0 的兼容性。
- 添加了对自适应横幅广告的支持。
- 现在需要 Google 移动广告 SDK 7.68.0 或更高版本。
构建和测试所用的
- Google 移动广告 SDK 7.68.0 版。
- Unity Ads SDK 3.5.0 版。
版本 3.4.8.0
- 已经验证与 Unity Ads SDK 3.4.8 兼容。
- 现在需要 Google 移动广告 SDK 7.63.0 或更高版本。
构建和测试所用的
- Google 移动广告 SDK 7.63.0 版。
- Unity Ads SDK 3.4.8 版。
版本 3.4.6.0
- 已经验证与 Unity Ads SDK 3.4.6 兼容。
- 现在需要 Google 移动广告 SDK 7.60.0 或更高版本。
构建和测试所需版本
- Google 移动广告 SDK 7.60.0 版。
- Unity Ads SDK 3.4.6 版。
版本 3.4.2.2
- 添加了标准化的适配器错误代码和消息。
- 将最低要求的 Google 移动广告 SDK 版本更新为 7.59.0。
构建和测试所用的
- Google 移动广告 SDK 7.59.0 版。
- Unity Ads SDK 版本 3.4.2。
版本 3.4.2.1
- 改进了 Unity 错误的转发,以便更早识别初始化和广告加载失败,并缩短超时时间。
- 移除了对 i386 架构的支持。
构建和测试所需版本
- Google 移动广告 SDK 7.57.0 版。
- Unity Ads SDK 3.4.2 版。
版本 3.4.2.0
- 已验证与 Unity Ads SDK 3.4.2 的兼容性。
构建和测试所用的
- Google 移动广告 SDK 7.55.1 版。
- Unity Ads SDK 版本 3.4.2。
版本 3.4.0.0
- 已验证与 Unity Ads SDK 3.4.0 的兼容性。
- 现在支持一次加载多个横幅广告。
构建和测试所用的
- Google 移动广告 SDK 7.53.0 版。
- Unity Ads SDK 3.4.0 版。
版本 3.3.0.0
- 已验证与 Unity Ads SDK 3.3.0 的兼容性。
- 现在支持一次加载多个横幅广告。
构建和测试所用的
- Google 移动广告 SDK 7.51.0 版。
- Unity Ads SDK 3.3.0 版。
版本 3.2.0.1
- 已验证与 Unity Ads SDK 3.2.0 的兼容性。
- 现在需要 Google 移动广告 SDK 7.46.0 或更高版本。
- 修复了 Unity 横幅广告在加载时无法展示的问题。
- 修复了适配器无法正确转发
unityAdsReady
回调的问题。
版本 3.2.0.0
- 由于填空报告出现回归问题,该版本已被移除。
版本 3.1.0.0
- 已验证与 Unity Ads SDK 3.1.0 的兼容性。
版本 3.0.3.0
- 已验证与 Unity Ads SDK 3.0.3 的兼容性。
- 现在需要 Google 移动广告 SDK 7.42.2 或更高版本。
- 新增了对灵活横幅广告尺寸的支持。
- 修复了 Unity 横幅广告每次会话只能成功加载一次的问题。
版本 3.0.1.0
- 已验证与 Unity Ads SDK 3.0.1 的兼容性。
- 修复了取消分配激励广告时发生崩溃的问题。
版本 3.0.0.3
- 更新了适配器以使用新的激励广告 API。
- 现在需要 Google 移动广告 SDK 7.41.0 或更高版本。
版本 3.0.0.2
- 新增了对横幅广告的支持。
版本 3.0.0.1
- 修复了适配器存储上一个请求的“placementId”的问题。
版本 3.0.0.0
- 已经验证与 Unity Ads SDK 3.0.0 兼容。
版本 2.3.0.0
- 已经验证与 Unity Ads SDK 2.3.0 兼容。
版本 2.2.1.1
- 向适配器添加了
adapterDidCompletePlayingRewardBasedVideoAd:
回调。
版本 2.2.1.0
- 已验证与 Unity Ads SDK 2.2.1 的兼容性。
版本 2.2.0.0
- 已经验证与 Unity Ads SDK 2.2.0 兼容。
版本 2.1.2.0
- 已验证与 Unity Ads SDK 2.1.2 的兼容性。
- 移除了对“armv7s”架构的支持。
版本 2.1.1.0
- 已经验证与 Unity Ads SDK 2.1.1 的兼容性。
版本 2.1.0.0
- 更新了适配器,使其与 Unity Ads SDK 2.1.0 兼容。
版本 2.0.8.0
- 已验证与 Unity Ads SDK 2.0.8 的兼容性。
版本 2.0.7.0
- 适配器现在会跟踪 Unity Ads 点击,以便 AdMob 和 Unity Ads 点击统计数据保持一致。
- 应用现在会获得
interstitialWillLeaveApplication:
和rewardBasedVideoAdWillLeaveApplication:
回调。
版本 2.0.6.0
- 已经验证与 Unity Ads SDK 2.0.6 的兼容性。
版本 2.0.5.0
- 已验证与 Unity Ads SDK 2.0.5 的兼容性。
版本 2.0.4.0
- 将版本命名系统更改为 [Unity Ads SDK 版本].[适配器补丁版本]。
- 将最低要求的 Unity Ads SDK 版本更新为 v2.0.4。
- 将要求的最低 Google 移动广告 SDK 更新到了 v7.10.1。
版本 1.0.2
- 将用户奖品的键设为非 nil。奖励键始终为空或有效字符串。
版本 1.0.1
- 修复了未调用
rewardBasedVideoAdDidOpen:
回调的 bug。
版本 1.0.0
- 支持插页式广告和基于奖励的视频广告。