Integra Unity Ads con Mediazione

本指南将向您介绍如何使用 Google 移动广告 SDK 通过中介从 Unity Ads 加载和展示广告,其中包括广告瀑布流集成。它介绍了如何将 Unity Ads 添加到广告单元的中介配置,以及如何将 Unity Ads SDK 和适配器集成到 Android 应用中。

支持的集成和广告格式

适用于 Unity Ads 的 AdMob 中介适配器具有以下功能:

集成
出价
瀑布
表现形式
横幅
插页式广告
已奖励
原生

要求

  • Android API 级别 19 或更高级别
  • 最新版 Google 移动广告 SDK

  • 完成中介 入门指南

第 1 步:在 Unity Ads 界面中设置配置

注册或登录 Unity Ads。

创建项目

Unity Ads 信息中心内,前往项目,然后点击创建项目

填写表单,然后点击 Create Project(创建项目)以添加项目。

依次前往创收 > 开始,然后点击开始

项目设置模态中,选择我打算使用中介,为中介合作伙伴选择 Google AdMob,然后点击下一步

选择所需的广告设置,然后点击下一步

填写表单,然后点击添加项目

记下游戏 ID

创建广告单元

依次前往创收 > 广告单元,然后点击添加广告单元

输入广告单元名称,然后选择 Android 作为平台,然后选择所需的广告格式

最后,点击创建以保存您的广告单元。

添加展示位置

创建项目后,依次前往创收 > 展示位置。如需创建新的展示位置,请点击所需广告单元对应的添加展示位置

填写必要的详细信息,然后点击添加展示位置

记下展示位置 ID

检索凭据

除了游戏 ID展示位置 ID 之外,您还需要使用 Unity Ads API 密钥组织核心 ID 来设置AdMob 广告单元 ID。

依次进入创收 > 设置 > API 管理,然后记下 Monetize Stats API 访问密钥

然后,依次转到创收 > 组织设置,并记下组织核心 ID

开启测试模式

您可以从 Unity Ads 信息中心启用测试模式。在项目的设置下,选择测试标签页。

您可以点击 Google Play 商店 旁边的修改按钮,强制应用以测试模式运行,选中覆盖客户端测试模式,然后选择对所有设备强制启用测试模式(即使用测试广告)

或者,您可以通过点击 Add Test Device 按钮为特定设备启用测试模式。

填写表单并点击保存

第 2 步:在界面中 AdMob 设置 Unity Ads 需求

为广告单元配置中介设置

您需要将 Unity Ads 添加到广告单元的中介配置中。首先,登录您的 AdMob 帐号

接下来,转到中介标签页。如果您想要修改现有的中介组,请点击该中介组的名称进行修改,然后跳转至将 Unity Ads 添加为广告来源

若要创建新的中介组,请选择创建中介组

AdMob Beta“中介”标签页

输入您的广告格式和平台,然后点击继续

为中介组命名,然后选择要定位到的地理位置。接下来,将中介组的状态设置为已启用。然后,点击添加广告单元,系统会打开广告单元选择叠加层。

新建中介组 2

将此中介组与现有 AdMob 广告单元相关联。然后,点击完成

现在,您应该会看到广告单元卡片填充了您选择的广告单元。

中介组广告单元

将 Unity Ads 添加为广告来源

广告来源卡片中,选择添加广告联盟。然后选择 Unity Ads

启用优化开关。输入在上一部分中获取的 API 密钥组织核心 ID,为 Unity Ads 设置广告来源优化功能。然后输入 Unity Ads 的有效每千次展示费用值,并点击继续。注意:每个广告资源网只需设置广告来源优化一次。

如果您已有 Unity Ads 映射,则只需选择它即可。否则,请点击添加映射

接下来,输入在上一部分中获取的游戏 ID展示位置 ID。然后,点击完成

将 Unity Ads 添加到 GDPR 和美国州级法规广告合作伙伴列表

Segui i passaggi descritti in Impostazioni GDPR e Impostazioni relative alle normative statali degli Stati Uniti per aggiungere Unity Ads all'elenco di partner pubblicitari per le normative GDPR e statali degli Stati Uniti nell' AdMob UI.

第 3 步:导入 Unity Ads SDK 和适配器

在应用级 build.gradle 文件中,添加以下 Gradle 依赖项以及最新版 Unity Ads SDK 和适配器:

repositories {
    google()
    mavenCentral()
}

// ...
dependencies {
    implementation 'com.google.android.gms:play-services-ads:22.5.0'
    implementation 'com.unity3d.ads:unity-ads:4.9.2'
    implementation 'com.google.ads.mediation:unity:4.9.2.0'
}
// ...

手动集成

  1. GitHub 代码库下载最新的 Unity Ads SDK (unity-ads.aar),并将其添加到您的项目。

  2. 转到 Google Maven 制品库中的 Unity Ads 适配器工件。选择最新版本,下载 Unity Ads 适配器的 .aar 文件,并将其添加到您的项目。

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

根据 Google 欧盟地区用户意见征求政策,您必须确保就设备标识符和个人数据的使用向欧洲经济区 (EEA) 的用户披露相关信息,并征得其同意。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。在征求用户意见时,您必须指明中介链中可能会收集、接收或使用个人数据的各个广告联盟,并提供每个广告联盟的使用情况信息。Google 目前无法自动将用户的意见征求选项传递给此类网络。

在 SDK 版本 2.0.0 中,Unity Ads 添加了一个 API 来支持隐私设置。以下示例代码展示了如何将此用户意见征求信息传递给 Unity Ads SDK。如果您选择手动将用户意见征求信息传递到 Unity Ads SDK,建议您在通过 Google 移动广告 SDK 请求广告之前调用此代码。

Java

import com.unity3d.ads.metadata.MetaData;
// ...

MetaData gdprMetaData = new MetaData(this);
gdprMetaData.set("gdpr.consent", true);
gdprMetaData.commit();

Kotlin

import com.unity3d.ads.metadata.MetaData
// ...

val gdprMetaData = MetaData(this)
gdprMetaData["gdpr.consent"] = true
gdprMetaData.commit()

如需了解详情以及可在每种方法中提供的值,请参阅 Unity Ads 的 Privacy Consent and Data API遵守 GDPR 指南。

美国州级隐私保护法律

美国州级隐私保护法 规定,用户有权选择不“出售”其“个人信息”(该法律对这些术语进行了定义)。“出售”方须在首页醒目位置提供“请勿出售我的个人信息”链接,以供用户选择。美国州级隐私保护法律合规性指南提供了为 Google 广告投放启用受限的数据处理的功能,但 Google 无法将此设置应用于中介链中的每个广告联盟。因此,您必须明确中介链中可能参与个人信息销售的各个广告联盟,并遵循每个广告联盟的指导以确保合规性。

在 SDK 版本 2.0.0 中,Unity Ads 添加了一个 API 来支持隐私设置。以下示例代码展示了如何将此用户意见征求信息传递给 Unity Ads SDK。如果您选择手动将用户意见征求信息传递到 Unity Ads SDK,建议您在通过 Google 移动广告 SDK 请求广告之前调用此代码。

Java

import com.unity3d.ads.metadata.MetaData;
// ...

MetaData ccpaMetaData = new MetaData(this);
ccpaMetaData.set("privacy.consent", true);
ccpaMetaData.commit();

Kotlin

import com.unity3d.ads.metadata.MetaData
// ...

val ccpaMetaData = MetaData(this)
ccpaMetaData["privacy.consent"] = true
ccpaMetaData.commit()

如需了解详情以及可在每种方法中提供的值,请参阅 Unity Ads 的 Privacy Consent and Data API遵守 CCPA 指南。

第 5 步:添加所需的代码

Unity Ads 集成无需额外代码。

第 6 步:测试您的实现

Attiva annunci di prova

Assicurati di registrare il dispositivo di test per AdMob e di abilitare la modalità di test nell' Unity Ads interfaccia utente.

Verifica annunci di prova

Per verificare di ricevere annunci di prova daUnity Ads, attiva il test di una singola origine annuncio nello strumento di controllo degli annunci utilizzando le Unity Ads (Waterfall) origini annuncio.

错误代码

如果适配器无法从 Unity Ads 接收广告,发布商可以使用以下类下的 ResponseInfo.getAdapterResponse() 从广告响应中检查底层错误:

com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter

以下是广告加载失败时 UnityAds 适配器抛出的代码和附带消息:

错误代码 原因
0-10 UnityAds SDK 返回错误。如需了解详情,请参阅代码
101 界面中配置的 UnityAds 服务器参数 AdMob 缺失/无效。
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 横幅广告特定错误。如需了解详情,请参阅代码
0-9 UnityAds SDK 返回错误。如需了解详情,请参阅 Unity 的文档
101 界面中配置的 UnityAds 服务器参数 AdMob 缺失/无效。
102 UnityAds 不支持此设备。
103 UnityAds 完成展示,错误状态为 kUnityAdsFinishStateError。
104 Unity 广告对象在调用其初始化程序后为 nil。
105 由于广告尚未准备就绪,未能展示 Unity 广告。
106 UnityAds 调用展示位置已更改回调,展示位置状态为 kUnityAdsPlacementStateNoFill。
107 UnityAds 调用展示位置已更改的回调,展示位置状态为 kUnityAdsPlacementStateDisabled。
108 此展示位置已加载过广告。UnityAds SDK 不支持为同一展示位置加载多个广告。

Unity Ads Android 中介适配器更新日志

版本 4.9.2.0

  • 已验证与 Unity Ads SDK 4.9.2 的兼容性。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 22.3.0.
  • Unity Ads SDK 4.9.2 版。

版本 4.9.1.0

  • 将所需的最低 Google 移动广告 SDK 版本更新为 22.3.0。
  • 已经过验证,与 Unity Ads SDK 4.9.1 兼容。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 22.3.0.
  • Unity Ads SDK 4.9.1 版。

版本 4.8.0.0

  • 在 Unity Ads SDK 调用其新的 onBannerShown() 回调方法时报告广告展示次数。
  • 已验证与 Unity Ads SDK 4.8.0 的兼容性。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 22.2.0.
  • Unity Ads SDK 4.8.0 版。

版本 4.7.1.0

  • 已验证与 Unity Ads SDK 4.7.1 的兼容性。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 22.1.0.
  • Unity Ads SDK 4.7.1 版。

版本 4.7.0.0

  • 已验证与 Unity Ads SDK 4.7.0 的兼容性。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 22.0.0.
  • Unity Ads SDK 4.7.0 版。

版本 4.6.1.1

  • 更新了适配器以使用新的 VersionInfo 类。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 22.0.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 22.0.0.
  • Unity Ads SDK 4.6.1 版。

版本 4.6.1.0

  • 已验证与 Unity Ads SDK 4.6.1 的兼容性。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 21.5.0
  • Unity Ads SDK 4.6.1 版。

版本 4.6.0.0

  • 新增了对将 COPPA 信息转发到 Unity Ads SDK 的支持。
  • 已验证与 Unity Ads SDK 4.6.0 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 21.5.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 21.5.0
  • Unity Ads SDK 4.6.0 版。

版本 4.5.0.0

  • 已验证与 Unity Ads SDK 4.5.0 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 21.4.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 21.4.0
  • Unity Ads SDK 4.5.0 版。

版本 4.4.1.0

  • 已验证与 Unity Ads SDK 4.4.1 的兼容性。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 21.2.0
  • Unity Ads SDK 4.4.1 版。

版本 4.4.0.0

  • 已验证与 Unity Ads SDK 4.4.0 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 21.2.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 21.2.0
  • Unity Ads SDK 4.4.0 版。

版本 4.3.0.0

  • 已验证与 Unity Ads SDK 4.3.0 的兼容性。
  • 现在,当插页式广告和激励广告开始播放时,系统会转发 onAdOpened() 回调。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 21.1.0
  • Unity Ads SDK 4.3.0 版。

版本 4.2.1.1

  • compileSdkVersiontargetSdkVersion 更新为了 API 31。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 21.0.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 21.0.0.
  • Unity Ads SDK 4.2.1 版。

版本 4.2.1.0

  • 已验证与 Unity Ads SDK 4.2.1 的兼容性。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 20.6.0.
  • Unity Ads SDK 4.2.1 版。

版本 4.1.0.0

  • 已验证与 Unity Ads SDK 4.1.0 的兼容性。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 20.6.0.
  • Unity Ads SDK 4.1.0 版。

版本 4.0.1.0

  • 已验证与 Unity Ads SDK 4.0.1 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.6.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 20.6.0.
  • Unity Ads SDK 4.0.1 版。

版本 4.0.0.0

  • 已验证与 Unity Ads SDK 4.0.0 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.5.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 20.5.0.
  • Unity Ads SDK 4.0.0 版。

版本 3.7.5.0

  • 已验证与 Unity Ads SDK 3.7.5 的兼容性。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 20.2.0.
  • Unity Ads SDK 版本 3.7.5。

版本 3.7.4.0

  • 已验证与 Unity Ads SDK 3.7.4 的兼容性。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 20.2.0.
  • Unity Ads SDK 版本 3.7.4。

版本 3.7.2.0

  • 已验证与 Unity Ads SDK 3.7.2 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.2.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 20.2.0.
  • Unity Ads SDK 版本 3.7.2。

版本 3.7.1.0

  • 已验证与 Unity Ads SDK 3.7.1 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.1.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 20.1.0.
  • Unity Ads SDK 版本 3.7.1。

版本 3.6.2.0

  • 已验证与 Unity Ads SDK 3.6.2 的兼容性。
  • 修复了激励广告无法转发点击回调函数的问题。
  • UnityAds SDK 已从捆绑的适配器 build 中移除。现在,发布商必须手动将 UnityAds SDK 添加为额外的依赖项。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.8.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 19.8.0.
  • Unity Ads SDK 3.6.2 版。

版本 3.6.0.0

  • 已验证与 Unity Ads SDK 3.6.0 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.6.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 19.6.0.
  • Unity Ads SDK 版本 3.6.0。

版本 3.5.1.1

  • 修复了尝试请求多个插页式广告和激励广告的问题。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 19.5.0.
  • Unity Ads SDK 版本 3.5.1。

版本 3.5.1.0

  • 已验证与 Unity Ads SDK 3.5.1 的兼容性。
  • 修复了导致智能横幅广告请求失败的问题。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 19.5.0.
  • Unity Ads SDK 版本 3.5.1。

版本 3.5.0.0

  • 已验证与 Unity Ads SDK 3.5.0 的兼容性。
  • 新增了对自适应横幅广告的支持。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.5.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 19.5.0.
  • Unity Ads SDK 版本 3.5.0。

版本 3.4.8.0

  • 修复了横幅广告销毁时发生的 NullPointerException 错误。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.3.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 19.3.0 版。
  • Unity Ads SDK 版本 3.4.8。

版本 3.4.6.1

  • 创建了未捆绑 Unity Ads SDK 的适配器 build。这样一来,发布商便可以选择在 Unity 上进行中介使用 Unity 广告服务,以避免冲突的依赖项问题。
    • 发布商可以通过在其应用级 build.gradle 文件中添加 com.google.ads.mediation:unity-adapter-only:x.y.z.p 依赖项来选择使用此模式。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 19.1.0 版。
  • Unity Ads SDK 版本 3.4.6。

版本 3.4.6.0

  • 已验证与 Unity Ads SDK 3.4.6 的兼容性。
  • 现在,在用户点击横幅广告时,适配器会转发 onAdOpened() 回调。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 19.1.0 版。
  • Unity Ads SDK 版本 3.4.6。

版本 3.4.2.3

  • 添加了描述性错误代码以及适配器加载/显示失败的原因。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.1.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 19.1.0 版。
  • Unity Ads SDK 版本 3.4.2。

版本 3.4.2.2

  • 修复了 Unity Ads 返回错误时发生的 ConcurrentModificationException 崩溃问题。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 19.0.1 版。
  • Unity Ads SDK 版本 3.4.2。

版本 3.4.2.1

  • 改进了 Unity 错误的转发功能,以便尽早识别初始化和广告加载失败,并缩短超时时间。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.0.1。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 19.0.1 版。
  • Unity Ads SDK 版本 3.4.2。

版本 3.4.2.0

  • 已验证与 Unity Ads SDK 3.4.2 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 18.3.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 18.3.0.
  • Unity Ads SDK 版本 3.4.2。

版本 3.4.0.0

  • 已验证与 Unity Ads SDK 3.4.0 的兼容性。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 18.3.0。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 18.3.0.
  • Unity Ads SDK 版本 3.4.0。

版本 3.3.0.0

  • 已验证与 Unity Ads SDK 3.3.0 的兼容性。

使用以下各项进行构建和测试:

  • Google 移动广告 SDK 版本 18.2.0.
  • Unity Ads SDK 版本 3.3.0。

版本 3.2.0.1

  • 修复了在调用 UnityAds.initialize() 之前调用 loadAd() 时发生 null 指针异常崩溃的问题。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 18.2.0。

版本 3.2.0.0

  • 修复了导致横幅广告请求失败的问题。
  • 已验证与 Unity Ads SDK 3.2.0 的兼容性。
  • 将适配器迁移到了 AndroidX。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 18.1.1。

版本 3.1.0.0

  • 新增了对灵活横幅广告尺寸的支持。
  • 如果请求的尺寸与任何 Unity Ads 横幅广告尺寸均不兼容,适配器会导致广告请求失败
  • 已验证与 Unity Ads SDK 3.1.0 的兼容性。

版本 3.0.1.0

  • 已验证与 Unity Ads SDK 3.0.1 的兼容性。
  • 修复了在展示插页式广告时出现“NPE”的错误。

版本 3.0.0.2

  • 更新了适配器,以支持新的公开 Beta 版 Rewarded API。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 17.2.0。

版本 3.0.0.1

  • 添加了对 Unity Ads 横幅广告的支持。

版本 3.0.0.0

  • 已验证与 Unity Ads SDK 3.0.0 的兼容性。

版本 2.3.0.0

  • 已验证与 Unity Ads SDK 2.3.0 的兼容性。

版本 2.2.1.1

  • 更新了适配器以调用 onRewardedVideoComplete() 广告事件。

版本 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 的兼容性。

版本 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 的点击统计信息将保持一致)。
  • 添加了 onAdLeftApplication 回调支持。

版本 2.0.6.0

  • 已验证与 Unity Ads SDK 2.0.6 的兼容性。

版本 2.0.5.0

  • 现在,可以通过将以下代码添加到 build.gradle 文件的依赖项标记,将适配器添加为编译依赖项:compile 'com.google.ads.mediation:unity:2.0.5.0'
  • 改为以 aar 格式(而不是 jar 文件)的形式分发适配器(如需了解其他说明,请参阅 README)。

版本 2.0.4.0

  • 修复了在首次加载插页式广告时导致激励视频广告无法加载的 bug。

版本 2.0.2.0

  • 将版本命名系统更改为了 [Unity Ads SDK 版本].[adapter patch version]。
  • 将所需的最低 Unity Ads SDK 更新为了 v2.0.2。
  • 将 Google 移动广告 SDK 的最低版本更新为 v9.0.0。
  • 应用不再需要调用 UnityAds.changeActivity(this)。

版本 1.0.0

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