将 Unity Ads 与中介集成

本指南介绍了如何使用 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 和适配器

  • 将以下代码行添加到项目的 Podfile 中:

    pod 'GoogleMobileAdsMediationUnity'
    
  • 在命令行中运行以下命令:

    pod install --repo-update

手动集成

  • 下载最新版本的 Unity Ads SDK,并在项目中关联 UnityAds.framework

  • 更新日志中的下载链接下载最新版 Unity Ads 适配器,然后在项目中关联 UnityAdapter.framework

第 4 步:在 Unity Ads SDK 上实现隐私设置

根据 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

  • 支持插页式广告和基于奖励的视频广告。