本指南将向您介绍如何使用 Google 移动广告 SDK,利用中介功能从 Unity Ads 加载和展示广告,其中包括广告瀑布流集成。它介绍了如何将 Unity Ads 添加到广告单元的中介配置,以及如何将 Unity Ads SDK 和适配器集成到 Unity 应用中。
支持的集成和广告格式
适用于 Unity Ads 的 AdMob 中介适配器具有以下功能:
集成 | |
---|---|
出价 | |
瀑布 | |
表现形式 | |
横幅 | |
插页式广告 | |
已奖励 |
要求
- 最新版 Google 移动广告 SDK
- Unity 4 或更高版本
- 在 Android 上部署
- Android API 级别 21 或更高级别
- 在 iOS 上部署
- iOS 部署目标为 12.0 或更高版本
- 配置了 Google 移动广告 SDK 的有效 Unity 项目。如需了解详情,请参阅使用入门。
- 完成中介 入门指南
第 1 步:在 Unity Ads 界面中设置配置
注册或登录 Unity Ads。
创建项目
在 Unity Ads 信息中心内,前往 Projects,然后点击 Create Project。
填写表单,然后点击 Create Project(创建项目)以添加项目。
依次前往创收 > 开始,然后点击开始。
在项目设置模态窗口中,选择我打算使用中介,并针对中介合作伙伴选择 Google AdMob,然后点击下一步。
选择您的广告设置,然后点击下一步。
填写表单,然后点击添加项目。
记下游戏 ID。
创建广告单元
依次前往创收 > 广告单元,然后点击添加广告单元。
输入广告单元名称,然后选择平台和广告格式。
Android
iOS
最后,点击创建,保存您的广告单元。
添加展示位置
创建项目后,依次前往创收 > 展示位置。如需创建新的展示位置,请为您的广告单元点击添加展示位置。
填写必要的详细信息,然后点击添加展示位置。
记下展示位置 ID。
Android
iOS
检索凭据
除了游戏 ID 和展示位置 ID 之外,您还需要 Unity Ads API 密钥和组织核心 ID 来设置AdMob 广告单元 ID。
依次前往创收 > 设置 > API 管理,然后记下 Monetize Stats API 访问密钥。
然后,依次转到创收 > 组织设置,并记下组织核心 ID。
开启测试模式
您可以从 Unity Ads 信息中心启用测试模式。在项目的设置下,选择测试标签页。
您可以通过以下方式强制应用测试模式:点击每个平台的修改按钮,选中替换客户端测试模式,然后选择对所有设备强制开启测试模式(即使用测试广告)。
Android
iOS
或者,您也可以通过点击 Add Test Device 按钮为特定设备启用测试模式。
填写表单并点击保存。
第 2 步:在界面中设置 Unity Ads 需求 AdMob
为广告单元配置中介设置
添加到 GDPR 和美国州级法规的广告合作伙伴列表中 Unity Ads
按照 GDPR 设置 和 美国州级法规设置 中的步骤,将 Unity Ads 添加到 AdMob 界面中的 GDPR 和美国州级法规广告合作伙伴列表中。
第 3 步:导入 Unity Ads SDK 和适配器
通过更新日志中的下载链接下载适用于 Unity Ads 的最新版 Google 移动广告中介插件,并从 zip
文件中提取 GoogleMobileAdsUnityAdsMediation.unitypackage
。
在 Unity 项目编辑器中,依次选择 Assets > Import Package > Custom Package,然后选择您下载的 GoogleMobileAdsUnityAdsMediation.unitypackage
文件。确保选择所有文件,然后点击 Import(导入)。
然后,依次选择 Assets > Play Services Resolver > Android Resolver > Force Resolve。Unity Play 服务解析器库将从头开始执行依赖项解析,并将声明的依赖项复制到 Unity 应用的 Assets/Plugins/Android
目录中。
将 Unity Adapter 与 Unity Ads 服务搭配使用
如果您通过“Services”窗格、“Package Manager”或“Asset Store”与 Unity Ads SDK 集成,那么您的应用中已经拥有 Unity Ads Android SDK 的副本。为了避免在针对 Android 进行构建时出现重复符号的问题,您需要移除对 Unity Ads SDK 的引用。
更新 Assets/GoogleMobileAds/Editor/UnityMediationDependencies.xml
文件并移除 Unity Ads SDK 依赖项:
<!-- If using the Unity Ads Service from Unity3D, comment out this dependency to
avoid including the Unity Ads Android SDK twice. -->
<androidPackage spec="com.unity3d.ads:unity-ads:x.y.z">
<repositories>
<repository>https://repo.maven.apache.org/maven2/</repository>
</repositories>
</androidPackage>
第 4 步:在 Unity Ads SDK 上实现隐私设置
欧盟地区用户意见征求和 GDPR
根据 Google 欧盟地区用户意见征求政策,您必须确保就设备标识符和个人数据的使用向欧洲经济区 (EEA) 用户披露特定披露信息,并征得其同意。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。在征求用户意见时,您必须指明中介链中可能会收集、接收或使用个人数据的各个广告联盟,并提供有关每个广告联盟使用情况的信息。Google 目前无法自动将用户的同意情况传送给此类广告联盟。
适用于 Unity Ads
版本 3.3.0
的 Google 移动广告中介插件包含
UnityAds.SetConsentMetaData()
以下示例代码展示了如何将用户意见征求信息传递给 Unity Ads SDK。如果您选择调用此方法,请在通过 Google 移动广告 SDK 请求广告之前调用此方法。
using GoogleMobileAds.Api.Mediation.UnityAds;
// ...
UnityAds.SetConsentMetaData("gdpr.consent", true);
如需了解详情以及可在每种方法中提供的值,请参阅 Unity Ads 的 Privacy Consent and Data API 以及遵守 GDPR 指南。
美国州级隐私保护法律
美国州级隐私保护法律 规定,必须让用户有权选择不“出售”其“个人信息”(该法律对这些术语进行了定义)。“出售”方须在首页醒目位置提供“请勿出售我的个人信息”链接,以供用户选择。美国州级隐私保护法律合规性指南让您可以为 Google 广告投放启用受限的数据处理,但 Google 无法将此设置应用于中介链中的每个广告联盟。因此,您必须确定中介链中可能参与个人信息出售的每个广告网络,并遵循每个广告网络的指导以确保合规性。
适用于 Unity Ads
版本 3.3.0
的 Google 移动广告中介插件包含
UnityAds.SetConsentMetaData()
以下示例代码展示了如何将用户意见征求信息传递给 Unity Ads SDK。如果您选择调用此方法,请在通过 Google 移动广告 SDK 请求广告之前调用此方法。
using GoogleMobileAds.Api.Mediation.UnityAds;
// ...
UnityAds.SetConsentMetaData("privacy.consent", true);
如需了解详情以及可在每种方法中提供的值,请参阅 Unity Ads 的 Privacy Consent and Data API 以及遵守 CCPA 指南。
第 5 步:添加所需的代码
Android
Unity Ads Android 集成无需其他代码。
iOS
SKAdNetwork 集成
按照 Unity Ads 的文档操作,将 SKAdNetwork 标识符添加到项目的 Info.plist
文件中。
编译错误
对于 Unity Ads 适配器 3.4.0 或更高版本,您必须按照 Unity 文档中的集成步骤操作。
第 6 步:测试实现效果
启用测试广告
请务必为AdMob 注册您的测试设备,并在 Unity Ads 界面中启用测试模式。
验证测试广告
如需验证您收到的是来自Unity Ads的测试广告,请使用相应广告来源在广告检查器中启用单一广告来源测试。 Unity Ads (Waterfall)
错误代码
如果适配器无法从 Unity Ads 接收广告,发布商可以使用以下类下的 ResponseInfo
检查广告响应的根本错误:
Android
com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter
iOS
GADMAdapterUnity
GADMediationAdapterUnity
以下是广告加载失败时 UnityAds 适配器抛出的代码及相应消息:
Android
错误代码 | 原因 |
---|---|
0-10 | UnityAds SDK 返回错误。如需了解详情,请参阅代码。 |
101 | AdMob 界面中配置的 UnityAds 服务器参数缺失/无效。 |
102 | UnityAds 返回了一个状态为 NO_FILL 的展示位置。 |
103 | UnityAds 返回一个状态为“已停用”的展示位置。 |
104 | UnityAds 尝试展示的广告为 null 上下文。 |
105 | 用于初始化、加载和/或展示 Unity Ads 广告的上下文不是 activity 实例。 |
106 | UnityAds 尝试展示一个尚不能展示的广告。 |
107 | 该设备不支持 UnityAds。 |
108 | UnityAds 一次只能为每个展示位置加载 1 个广告。 |
109 | UnityAds 结束时处于 ERROR 状态。 |
200-204 | UnityAds 横幅广告出现特定错误。如需了解详情,请参阅代码。 |
iOS
0-9 | UnityAds SDK 返回错误。如需了解详情,请参阅 Unity 的文档。 |
101 | AdMob 界面中配置的 UnityAds 服务器参数缺失/无效。 |
102 | UnityAds 不支持此设备。 |
103 | UnityAds 已完成展示,错误状态为 kUnityAdsFinishStateError。 |
104 | Unity 广告对象在调用其初始化程序后为 nil。 |
105 | 由于广告未就绪,未能展示 Unity 广告。 |
106 | UnityAds 调用了展示位置已更改回调,展示位置状态为 kUnityAdsPlacementStateNoFill。 |
107 | UnityAds 调用了展示位置已更改回调,展示位置状态为 kUnityAdsPlacementStateDisabled。 |
108 | 此展示位置已加载过广告。UnityAds SDK 不支持为同一展示位置加载多个广告。 |
Unity Ads Unity 中介插件更新日志
版本 3.9.1
- 支持 Unity Ads Android 适配器版本 4.9.3.0。
- 支持 Unity Ads iOS 适配器版本 4.9.3.0。
- 使用 Google 移动广告 Unity 插件 9.0.0 版进行构建和测试。
版本 3.9.0
- 支持 Unity Ads Android 适配器版本 4.9.2.0。
- 支持 Unity Ads iOS 适配器版本 4.9.2.0。
- 使用 Google 移动广告 Unity 插件 8.6.0 版进行构建和测试。
版本 3.8.0
- 支持 Unity Ads Android 适配器版本 4.8.0.0。
- 支持 Unity Ads iOS 适配器版本 4.8.0.0。
- 使用 Google 移动广告 Unity 插件 8.4.1 版进行构建和测试。
版本 3.7.1
- 支持 Unity Ads Android 适配器版本 4.7.1.0。
- 支持 Unity Ads iOS 适配器版本 4.7.1.0。
- 使用 Google 移动广告 Unity 插件 8.3.0 版进行构建和测试。
版本 3.7.0
- 支持 Unity Ads Android 适配器版本 4.7.0.0。
- 支持 Unity Ads iOS 适配器版本 4.7.0.0。
- 使用 Google 移动广告 Unity 插件 8.1.0 版进行构建和测试。
版本 3.6.1
- 支持 Unity Ads Android 适配器版本 4.6.1.0。
- 支持 Unity Ads iOS 适配器版本 4.6.1.0。
- 使用 Google 移动广告 Unity 插件 8.0.0 版进行构建和测试。
版本 3.6.0
- 将适配器内容移到了
GoogleMobileAds/Mediation/UnityAds/
。 - 重构了适配器命名空间,以使用
GoogleMobileAds.Mediation.UnityAds
。 - 支持 Unity Ads Android 适配器版本 4.6.0.0。
- 支持 Unity Ads iOS 适配器版本 4.6.0.0。
- 使用 Google 移动广告 Unity 插件 7.4.1 版进行构建和测试。
版本 3.5.0
- 支持 Unity Ads Android 适配器版本 4.5.0.0。
- 支持 Unity Ads iOS 适配器版本 4.5.0.0。
- 使用 Google 移动广告 Unity 插件 7.3.1 版进行构建和测试。
版本 3.4.1
- 支持 Unity Ads Android 适配器版本 4.4.1.0。
- 支持 Unity Ads iOS 适配器版本 4.4.1.0。
- 使用 Google 移动广告 Unity 插件 7.2.0 版进行构建和测试。
版本 3.4.0
- 支持 Unity Ads Android 适配器版本 4.4.0.0。
- 支持 Unity Ads iOS 适配器版本 4.4.0.0。
- 使用 Google 移动广告 Unity 插件 7.2.0 版进行构建和测试。
版本 3.3.0
- 将
SetGDPRConsentMetaData(bool)
方法从UnityAds
类更新为SetConsentMetaData(string, bool)
。 - 支持 Unity Ads Android 适配器版本 4.3.0.0。
- 支持 Unity Ads iOS 适配器版本 4.3.0.0。
- 使用 Google 移动广告 Unity 插件 7.2.0 版进行构建和测试。
版本 3.2.1
- 支持 Unity Ads Android 适配器版本 4.2.1.1。
- 支持 Unity Ads iOS 适配器版本 4.2.1.0。
- 使用 Google 移动广告 Unity 插件 7.0.2 版进行构建和测试。
版本 3.2.0
- 支持 Unity Ads Android 适配器版本 4.2.1.0。
- 支持 Unity Ads iOS 适配器版本 4.2.1.0。
- 使用 Google 移动广告 Unity 插件 7.0.1 版进行构建和测试。
版本 3.1.0
- 支持 Unity Ads Android 适配器版本 4.1.0.0。
- 支持 Unity Ads iOS 适配器版本 4.1.0.0。
- 使用 Google 移动广告 Unity 插件 7.0.0 版进行构建和测试。
版本 3.0.1
- 支持 Unity Ads Android 适配器版本 4.0.1.0。
- 支持 Unity Ads iOS 适配器版本 4.0.1.0。
- 使用 Google 移动广告 Unity 插件 7.0.0 版进行构建和测试。
版本 3.0.0
版本 2.7.2
版本 2.7.1
版本 2.7.0
版本 2.6.0
版本 2.5.1
版本 2.5.0
版本 2.4.7
版本 2.4.6
- 支持 Unity Ads Android 适配器版本 3.4.6.1。
- 支持 Unity Ads iOS 适配器版本 3.4.6.0。
- 现在,发布商可以选择使用 Unity 广告服务在 Unity 上进行中介。
- 如需了解更多详情,请参阅
Assets/GoogleMobileAds/Editor/UnityMediationDependencies.xml
文件。
- 如需了解更多详情,请参阅
版本 2.4.5
版本 2.4.4
版本 2.4.3
版本 2.4.2
版本 2.4.1
版本 2.4.0
版本 2.3.0
版本 2.2.0
版本 2.1.0
- 支持 Unity Ads Android 适配器版本 3.1.0.0。
- 支持 Unity Ads iOS 适配器版本 3.1.0.0。
版本 2.0.3
- 更新了插件以支持新的公开 Beta 版 Rewarded API。
- 添加了对横幅广告的支持。
- 支持 Unity Ads Android 适配器版本 3.0.0.2。
- 支持 Unity Ads iOS 适配器版本 3.0.0.3。
版本 2.0.2
- 支持 Unity Ads Android 适配器版本 3.0.0.0。
- 支持 Unity Ads iOS 适配器版本 3.0.0.1。
版本 2.0.1
- 修复了在针对 iOS 进行构建时引发问题的“不兼容类型”错误。
版本 2.0.0
- 支持 Unity Ads Android 适配器版本 3.0.0.0。
- 支持 Unity Ads iOS 适配器版本 3.0.0.0。
版本 1.2.0
- 支持 Unity Ads Android 适配器版本 2.3.0.0。
- 支持 Unity Ads iOS 适配器版本 2.3.0.0。
版本 1.1.3
- 支持 Unity Ads Android 适配器版本 2.2.1.0。
- 支持 Unity Ads iOS 适配器版本 2.2.1.0。
版本 1.1.2
- 支持 Unity Ads Android SDK 2.2.0 版。
- 支持 Unity Ads iOS SDK 2.2.0 版。
- 添加了
UnityAds.SetGdprConsentMetaData()
方法,用于手动请求用户选择启用定位广告。
版本 1.1.1
- 支持 Unity Ads Android SDK 2.2.0 版。
- 支持 Unity Ads iOS SDK 2.2.1 版。
版本 1.1.0
- 支持 Unity Ads Android SDK 2.2.0 版。
- 支持 Unity Ads iOS SDK 2.2.0 版。
版本 1.0.0
- 首个版本!
- 支持 Unity Ads Android SDK 2.1.2 版。
- 支持 Unity Ads iOS SDK 2.1.2 版。