将 Unity Ads 与中介集成

本指南介绍了如何使用 GMA Next-Gen SDK 通过 AdMob 中介加载和展示来自 Unity Ads 的广告,其中涵盖了出价集成和瀑布流集成。本指南还介绍了如何将 Unity Ads 添加到广告单元的中介配置中,以及如何将 Unity Ads SDK 和适配器集成到 Android 应用中。

支持的集成和广告格式

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

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

要求

  • Android API 级别 24 或更高级别
  • [对于出价]:如需在出价中集成所有受支持的广告格式,请使用 Unity 适配器 4.16.0.1 或更高版本(建议使用最新版本
  • GMA Next-Gen SDK”的最新视频

  • 完成中介入门指南阅读。

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

注册登录 Unity Ads。

创建项目

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

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

前往 Unity Ads 创收,然后点击开始

New Project 模态框中,选择 I will use MediationGoogle Admob 作为中介合作伙伴,然后点击 Next

选择广告设置选项,然后点击下一步

选择展示位置设置,然后点击下一步

出价

瀑布

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

记下游戏 ID

创建广告单元和展示位置

依次前往 Unity Ads Monetization(Unity Ads 创收)> Placements(展示位置),然后选择您的项目并点击 Add ad unit(添加广告单元)。

输入广告单元名称,然后选择平台广告格式

出价

设置选择出价。在展示位置下,输入展示位置名称

记下展示位置 ID

瀑布

设置选择瀑布流。在展示位置下,输入展示位置名称地理位置标记目标

记下展示位置 ID

最后,点击添加广告单元以保存广告单元和展示位置。

查找 Unity Ads Reporting API 密钥

出价

出价集成不需要执行此步骤。

瀑布

前往 Unity Ads 创收 > API 管理,并记下创收统计信息 API 访问权限中的 API 密钥

然后,依次前往 Unity Ads 创收 > 组织设置,并记下组织核心 ID

更新 app-ads.txt

应用授权卖方 (app-ads.txt) 是一项 IAB Tech Lab 计划,有助于确保只通过您认定的授权渠道销售您的应用广告资源。为避免损失大量广告收入,您需要实施 app-ads.txt 文件。 如果您尚未完成此项设置,请为您的应用设置 app-ads.txt 文件

如需为 Unity Ads 实现 app-ads.txt,请参阅首次设置 app-ads.txt

启用测试模式

您可以在 Unity Ads 信息中心内启用测试模式。依次前往 Unity Ads 创收 > 测试

您可以强制为应用启用测试模式,方法是点击 Google Play 商店旁边的修改按钮,启用替换客户端测试模式,然后选择强制为所有设备启用测试模式(即使用测试广告)

或者,您也可以点击添加测试设备,为特定设备启用测试模式。

输入测试设备详细信息,然后点击保存

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

为广告单元配置中介设置

您需要将 Unity Ads 添加到广告单元的中介配置。

首先,登录您的 AdMob 账号。接下来,前往中介标签页。如果您要修改某个现有中介组,请点击该中介组的名称进行修改,然后跳至将 Unity Ads 添加为广告来源

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

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

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

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

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

添加 Unity Ads 作为广告来源

出价


出价卡片的广告来源部分,选择添加广告来源。然后选择 Unity Ads

点击如何签署合作伙伴协议,然后与 Unity Ads 建立出价合作伙伴关系



点击确认并同意,然后点击继续



如果您已为 Unity Ads 创建映射,可以选择该映射。否则,请点击添加映射



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



瀑布


广告来源部分的瀑布流卡片下,选择添加广告来源

选择 Unity Ads 并启用优化开关。输入在上一部分中获得的 API 密钥组织核心 ID,以针对 Unity Ads 设置广告来源优化。 然后,为 Unity Ads 输入 eCPM 值,并点击继续



如果您已为 Unity Ads 创建映射,可以选择该映射。 否则,请点击添加映射

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


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

请按照欧洲法规设置美国州级法规设置中的步骤,将 Unity Ads 添加到 AdMob 界面内的欧洲法规和美国州级法规广告合作伙伴名单中。

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

在应用级 Gradle 文件中,添加以下实现依赖项和配置:

Kotlin

dependencies {
    implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02")
    implementation("com.unity3d.ads:unity-ads:4.16.5")
    implementation("com.google.ads.mediation:unity:4.16.6.0")
}

configurations.configureEach {
    exclude(group = "com.google.android.gms", module = "play-services-ads")
    exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}

Groovy

dependencies {
    implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02'
    implementation 'com.unity3d.ads:unity-ads:4.16.5'
    implementation 'com.google.ads.mediation:unity:4.16.6.0'
}

configurations.configureEach {
    exclude group: 'com.google.android.gms', module: 'play-services-ads'
    exclude group: 'com.google.android.gms', module: 'play-services-ads-lite'
}

手动集成

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

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

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

为了遵守 Google 的《欧盟地区用户意见征求政策》,您必须向欧洲经济区 (EEA)、英国和瑞士的用户披露某些信息,并征得他们同意才能使用 Cookie 或其他本地存储(如果法律有此要求),以及收集、分享和使用个人数据以实现广告个性化。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。您要负责验证用户意见是否已传播到中介链中的每个广告来源。Google 无法自动将用户意见传递给此类广告资源网。

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

Java

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

Kotlin

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

如需了解详情以及每种方法中可提供的值,请参阅 Unity Ads 的 GDPR 合规性

美国州级隐私保护法律

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

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

Java

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

Kotlin

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

如需详细了解每种方法以及可在其中提供的值,请参阅 Unity Ads 的《消费者隐私保护法案》合规性

第 5 步:添加必需的代码

使用 activity 上下文加载广告

加载横幅广告、插页式广告和原生广告格式时,传递 Activity 上下文。 如果没有 activity 上下文,广告加载将会失败。

第 6 步:测试您的实现

启用测试广告

请务必为 AdMob 注册测试设备,并在 Unity Ads 界面中启用测试模式

验证测试广告

若要验证您是否能收到来自 Unity Ads 的测试广告,请在广告检查器中启用 single ad source testing(单个广告来源测试),并选择 Unity Ads (Bidding) and Unity Ads (Waterfall)(Unity Ads [出价] 和 Unity Ads [瀑布流])作为广告来源。

错误代码

如果适配器未能收到来自 Unity Ads 的广告,发布商可以使用 ResponseInfo.getAdSourceResponses() 来检查广告响应中归属于以下类的底层错误:

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

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

错误代码 原因
0-10 UnityAds SDK 返回了错误。如需了解详情,请参阅代码
101 在 AdMob 界面中配置的 UnityAds 服务器参数缺失/无效。
102 UnityAds 返回了处于 NO_FILL 状态的展示位置。
103 UnityAds 返回了状态为 DISABLED 的展示位置。
104 UnityAds 尝试展示上下文为 null 的广告。
105 用于初始化、加载和/或展示 Unity Ads 广告的上下文不是 Activity 实例。
106 UnityAds 尝试展示尚无法展示的广告。
107 设备不支持 UnityAds。
108 UnityAds 每次只能为每个展示位置加载 1 个广告。
109 UnityAds 已完成,但处于错误状态。
200-204 UnityAds 横幅广告特有的错误。如需了解详情,请参阅代码