将 DT Exchange 与中介集成

本指南介绍了如何使用 Google 移动广告 SDK 通过中介加载和展示来自 DT Exchange 的广告,其中涵盖了瀑布流集成。本指南还介绍了如何将 DT Exchange 添加到广告单元的中介配置中,以及如何将 DT SDK 和适配器集成到 Android 应用中。

支持的集成和广告格式

DT Exchange 的中介适配器具有以下功能:

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

1 出价集成功能目前处于封闭式 Beta 版阶段,请与您的客户经理联系以申请访问权限。

2 只有瀑布流中介支持激励广告。

要求

  • Android API 级别 23 或更高级别

  • [对于出价]:如需在出价中集成所有受支持的广告格式,请使用 DT Exchange 适配器 8.3.8.0 或更高版本(建议使用最新版本)。

  • 最新版 Google 移动广告 SDK

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

第 1 步:在 DT Exchange 界面中设置配置

添加新的应用和广告展示位置

注册登录 DT Exchange 控制台。

点击添加应用

管理应用

选择平台和展示位置,填写表单的其余部分,然后点击创建应用

输入展示位置的名称并选择类型。然后,点击保存展示位置

设置

应用 ID 和展示位置 ID

将鼠标悬停在左侧导航栏上以将其打开,然后点击应用管理

应用管理页面上,记下应用旁边的应用 ID

选择您的应用,然后前往展示位置标签页。 记下展示位置 ID

展示位置 ID

发布商 ID、使用方密钥和使用方密钥令牌

在左侧菜单中点击您的用户名,然后选择用户个人资料

记下发布商 ID使用方密钥使用方密钥令牌,因为您在下一步中需要用到这些信息。

用户个人资料

更新 app-ads.txt

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

如需为 DT Exchange 实现 app-ads.txt,请将 DT 添加到您的 app-ads.txt 文件中

第 2 步:在 Ad Manager 界面中设置 DT Exchange 需求

登录您的 Ad Manager 账号

在“公司”中添加 DT Exchange

出价

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

瀑布

依次前往管理 > 公司,然后点击所有公司标签页中的新公司按钮。选择广告资源网

选择 DT Exchange 作为广告联盟,输入唯一的名称,然后启用中介。 开启自动收集数据,然后输入在上一部分中获得的发布商 ID使用方密钥使用方 Secret

您无需输入用户名密码。完成后,点击保存

启用安全信号共享

出价

依次前往管理 > 全局设置。前往 Ad Exchange 账号设置标签页,然后查看并开启安全信号共享。点击保存

瀑布

对于瀑布流集成,则无需执行此步骤。

在出价请求中共享安全信号

出价

依次前往广告资源 > 安全信号。在安全信号下方,搜索 DT Exchange (Fyber Monetization),然后将启用应用集成切换到开启状态。

点击保存

瀑布

对于瀑布流集成,则无需执行此步骤。

允许出于 SDK 出价目的共享安全信号

出价

依次前往投放 > 需求渠道设置。在默认设置标签页中,将允许共享安全信号切换到开启状态,以便进行 SDK 出价

点击保存

瀑布

对于瀑布流集成,则无需执行此步骤。

配置 DT Exchange 出价

出价

依次前往投放 > 出价方,然后点击前往“SDK 出价”页面

点击新增出价方

选择 DT Exchange 作为出价方。

点击继续即可为此出价方启用 SDK 出价。

点击完成

瀑布

对于瀑布流集成,则无需执行此步骤。

配置广告单元映射

出价

依次前往投放 > 出价方,然后点击前往“SDK 出价”页面

选择 DT 交易平台的公司。

前往广告单元映射标签页,然后点击新建广告单元映射

选择特定广告单元。选择广告单元和格式,选择移动应用作为广告资源类型,并选择您的移动应用。然后,输入在上一部分获得的应用 ID展示位置 ID。最后,点击保存

瀑布

依次前往投放 > 收益组,然后点击新建收益组按钮。选择您的移动应用

向下滚动,然后点击添加收益合作伙伴

选择您在上一部分中为 DT Exchange 创建的公司。 选择移动 SDK 中介作为集成类型Android 作为平台有效作为状态

输入在上一部分中获得的应用 ID展示位置 ID,以及默认每千次展示费用值。点击保存

注意:“自动收集数据”功能需要几天时间来收集数据,然后才能准确计算中介广告联盟的动态 CPM 值。可以计算出 eCPM 后,系统会自动代表您更新此值。

将 DT Exchange (Fyber Monetization) 添加到 GDPR 和美国州级法规广告合作伙伴名单中

请按照欧洲法规设置美国州级法规设置中的步骤,将 DT Exchange (Fyber Monetization) 添加到 Ad Manager 界面内的欧洲法规和美国州级法规广告合作伙伴名单中。

第 3 步:导入 DT SDK 和适配器

在应用级 build.gradle.kts 文件中,添加以下实现依赖项和配置。使用最新版本的 DT SDK 和适配器:

dependencies {
    implementation("com.google.android.gms:play-services-ads:24.5.0")
    implementation("com.google.ads.mediation:fyber:8.3.8.0")
}

手动集成

  • 下载最新版本的 DT SDK for Android,并将 fyber-marketplace-x.y.z.aar 添加到您的项目中。
  • 前往 Google 的 Maven 制品库,找到 DT Exchange 适配器制品。选择最新版本,下载 DT Exchange 适配器的 .aar 文件,然后将其添加到您的项目中。

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

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

DT Exchange 包含一个 API,可用于将用户意见征求情况转发给其 SDK。以下示例代码展示了如何手动将用户意见信息传递给 DT SDK。如果您选择手动将用户意见信息传递给 DT SDK,建议您在通过 Google 移动广告 SDK 请求广告之前调用此代码。

Java

import com.fyber.inneractive.sdk.external.InneractiveAdManager;
// ...

InneractiveAdManager.setGdprConsent(true);
InneractiveAdManager.setGdprConsentString("myGdprConsentString");

Kotlin

import com.fyber.inneractive.sdk.external.InneractiveAdManager
// ...

InneractiveAdManager.setGdprConsent(true)
InneractiveAdManager.setGdprConsentString("myGdprConsentString")

如需详细了解该方法中可能提供的值,请访问 DT Exchange 的 GDPR 实施指南

美国州级隐私保护法律

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

DT Exchange 包含一个 API,可用于将用户意见征求情况转发给其 SDK。以下示例代码展示了如何手动将用户意见信息传递给 DT SDK。如果您选择手动将用户意见信息传递给 DT SDK,建议您在通过 Google 移动广告 SDK 请求广告之前调用此代码。

Java

import com.fyber.inneractive.sdk.external.InneractiveAdManager;
// ...

InneractiveAdManager.setUSPrivacyString("myUSPrivacyString");

Kotlin

import com.fyber.inneractive.sdk.external.InneractiveAdManager
// ...

InneractiveAdManager.setUSPrivacyString("myUSPrivacyString")

如需详细了解此方法中可能提供的值,请访问 DT Exchange 的 CCPA 实施指南

第 5 步:添加必需的代码

使用 activity 上下文加载广告

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

第 6 步:测试您的实现

启用测试广告

确保针对 Ad Manager 注册测试设备

验证测试广告

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

可选步骤

广告资源网专用参数

DT Exchange 适配器支持可作为 Android Bundle 传递给适配器的其他请求参数。适配器会在软件包中查找以下键:

请求参数和值
InneractiveMediationDefs.KEY_AGE 整数。用户的年龄
FyberMediationAdapter.KEY_MUTE_VIDEO Boolean。将视频静音或取消静音

以下代码示例展示了如何设置这些广告请求参数:

Java

Bundle extras = new Bundle();
extras.putInt(InneractiveMediationDefs.KEY_AGE, 10);
extras.putBoolean(FyberMediationAdapter.KEY_MUTE_VIDEO, false);

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
   .addNetworkExtrasBundle(FyberMediationAdapter.class, extras)
   .build();

Kotlin

var extras = Bundle()
extras.putInt(InneractiveMediationDefs.KEY_AGE, 10)
extras.putBoolean(FyberMediationAdapter.KEY_MUTE_VIDEO, false)

val request = AdManagerAdRequest.Builder()
   .addNetworkExtrasBundle(FyberMediationAdapter::class.java, extras)
   .build()

错误代码

如果适配器未能收到来自 DT Exchange 的广告,您可以使用 ResponseInfo.getAdapterResponses() 来检查广告响应中归属于以下类的底层错误:

com.google.ads.mediation.fyber.FyberMediationAdapter

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

错误代码 原因
101 在 Ad Manager 界面中配置的 DT Exchange 服务器参数缺失/无效。
103 所请求的广告尺寸与 DT Exchange 支持的横幅尺寸不一致。
105 DT SDK 加载了广告,但返回了意外的控制器。
106 广告尚无法展示。
107 上下文不是 activity 实例。
200-399 DT SDK 返回了错误。如需了解详情,请参阅代码

DT Exchange Android 中介适配器变更日志

版本 8.3.8.0

  • 将错误代码重构到了新的 DTExchangeErrorCodes.kt 文件中。
  • 已验证与 DT Exchange SDK 8.3.8 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 24.5.0 版。
  • DT Exchange SDK 8.3.8 版。

版本 8.3.7.0

  • 更新了适配器,以支持横幅广告和插页式广告格式的出价。
  • 已验证与 DT Exchange SDK 8.3.7 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 24.1.0 版。
  • DT Exchange SDK 版本 8.3.7。

版本 8.3.6.1

  • 将最低必需的 Android API 级别更新为 23。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 24.0.0。

构建和测试所需版本:

  • Google 移动广告 SDK 24.0.0 版。
  • DT Exchange SDK 版本 8.3.6。

版本 8.3.6.0

  • 已验证与 DT Exchange SDK 8.3.6 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 23.6.0 版。
  • DT Exchange SDK 版本 8.3.6。

版本 8.3.5.0

  • 已验证与 DT Exchange SDK 8.3.5 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 23.6.0 版。
  • DT Exchange SDK 版本 8.3.5。

版本 8.3.4.0

  • 已验证与 DT Exchange SDK 8.3.4 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 23.6.0 版。
  • DT Exchange SDK 版本 8.3.4。

版本 8.3.3.0

  • 已验证与 DT Exchange SDK 8.3.3 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 23.5.0 版。
  • DT Exchange SDK 版本 8.3.3。

版本 8.3.2.0

  • 已验证与 DT Exchange SDK 8.3.2 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 23.4.0 版。
  • DT Exchange SDK 版本 8.3.2。

版本 8.3.1.0

  • 已验证与 DT Exchange SDK 8.3.1 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 23.3.0 版。
  • DT Exchange SDK 8.3.1 版。

版本 8.3.0.0

  • 添加了对将 Google 移动广告 SDK 版本传递给 DT Exchange SDK 的支持。
  • 已验证与 DT Exchange SDK 8.3.0 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 23.2.0 版。
  • DT Exchange SDK 8.3.0 版。

版本 8.2.7.0

  • 已验证与 DT Exchange SDK 8.2.7 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 23.0.0 版。
  • DT Exchange SDK 8.2.7 版。

版本 8.2.6.1

  • 将最低必需的 Google 移动广告 SDK 版本更新为 23.0.0。
  • 已验证与 DT Exchange SDK 8.2.6 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 23.0.0 版。
  • DT Exchange SDK 版本 8.2.6。

版本 8.2.6.0

  • 已验证与 DT Exchange SDK 8.2.6 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 22.6.0 版。
  • DT Exchange SDK 版本 8.2.6。

版本 8.2.5.0

  • 已验证与 DT Exchange SDK 8.2.5 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 22.5.0 版。
  • DT Exchange SDK 版本 8.2.5。

版本 8.2.4.0

  • 已验证与 DT Exchange SDK 8.2.4 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 22.3.0 版。
  • DT Exchange SDK 版本 8.2.4。

版本 8.2.3.0

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

构建和测试所需版本:

  • Google 移动广告 SDK 22.0.0 版。
  • DT Exchange SDK 8.2.3 版。

版本 8.2.2.1

  • 添加了对在中介 extra 中传递 muteVideo 键以使插页式广告静音的支持。

构建和测试所需版本:

  • Google 移动广告 SDK 21.5.0 版。
  • DT Exchange SDK 版本 8.2.2。

版本 8.2.2.0

  • 已验证与 DT Exchange SDK 8.2.2 版的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 21.5.0。

构建和测试所需版本:

  • Google 移动广告 SDK 21.5.0 版。
  • DT Exchange SDK 版本 8.2.2。

版本 8.2.1.0

  • 将适配器名称重新命名为“DT Exchange”。
  • 已验证与 DT Exchange SDK 8.2.1 版的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 21.3.0。

构建和测试所需版本:

  • Google 移动广告 SDK 21.3.0 版。
  • DT Exchange SDK 8.2.1 版。

版本 8.2.0.0

  • 已验证与 Fyber SDK 8.2.0 的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 21.1.0。

构建和测试所需版本:

  • Google 移动广告 SDK 21.1.0 版。
  • Fyber SDK 8.2.0 版。

版本 8.1.5.0

  • 已验证与 Fyber SDK 8.1.5 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 21.0.0 版。
  • Fyber SDK 版本 8.1.5。

版本 8.1.4.0

  • 已验证与 Fyber SDK 8.1.4 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 21.0.0 版。
  • Fyber SDK 版本 8.1.4。

版本 8.1.3.1

  • compileSdkVersiontargetSdkVersion 更新为 API 31。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 21.0.0。
  • 将最低必需的 Android API 级别更新为 19。

构建和测试所需版本:

  • Google 移动广告 SDK 21.0.0 版。
  • Fyber SDK 版本 8.1.3。

版本 8.1.3.0

  • 已验证与 Fyber SDK 8.1.3 的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 20.6.0。

构建和测试所需版本:

  • Google 移动广告 SDK 20.6.0 版。
  • Fyber SDK 版本 8.1.3。

版本 8.1.2.0

  • 已验证与 Fyber SDK 8.1.2 版的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 20.5.0。

构建和测试所需版本:

  • Google 移动广告 SDK 20.5.0 版。
  • Fyber SDK 版本 8.1.2。

版本 8.1.0.0

  • 已验证与 Fyber SDK 8.1.0 的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 20.4.0 版。
  • Fyber SDK 8.1.0 版。

版本 7.8.4.1

  • 修复了以下问题:如果中介配置中存在重复或多个唯一应用 ID,适配器将无法初始化。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 20.4.0。

构建和测试所需版本:

  • Google 移动广告 SDK 20.4.0 版。
  • Fyber SDK 7.8.4 版。

版本 7.8.4.0

  • 已验证与 Fyber SDK 7.8.4 的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 20.3.0。
  • 修复了激励型展示广告中未调用 onVideoComplete() 的问题。
  • Fyber 现在需要 Activity 上下文才能展示广告。

构建和测试所需版本:

  • Google 移动广告 SDK 20.3.0 版。
  • Fyber SDK 7.8.4 版。

版本 7.8.3.0

  • 已验证与 Fyber SDK 7.8.3 版的兼容性。
  • 添加了标准化的适配器错误代码和消息。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 20.1.0。

构建和测试所需版本:

  • Google 移动广告 SDK 20.1.0 版。
  • Fyber SDK 7.8.3 版。

版本 7.8.2.0

  • 已验证与 Fyber SDK 7.8.2 的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 20.0.0。

构建和测试所需版本:

  • Google 移动广告 SDK 20.0.0 版。
  • Fyber SDK 7.8.2 版。

版本 7.8.1.0

  • 已验证与 Fyber SDK 7.8.1 的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 19.7.0 版。
  • Fyber SDK 7.8.1 版。

版本 7.8.0.0

  • 已验证与 Fyber SDK 7.8.0 的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 19.7.0。

构建和测试所需版本:

  • Google 移动广告 SDK 19.7.0 版。
  • Fyber SDK 7.8.0 版。

版本 7.7.4.0

  • 已验证与 Fyber SDK 7.7.4 版的兼容性。
  • 修复了激励广告的 onUserEarnedReward() 被转发两次的问题。

构建和测试所需版本:

  • Google 移动广告 SDK 19.5.0 版。
  • Fyber SDK 7.7.4 版。

版本 7.7.3.0

  • 已验证与 Fyber SDK 7.7.3 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 19.5.0 版。
  • Fyber SDK 版本 7.7.3。

版本 7.7.2.0

  • 已验证与 Fyber SDK 7.7.2 版的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 19.5.0。

构建和测试所需版本:

  • Google 移动广告 SDK 19.5.0 版。
  • Fyber SDK 版本 7.7.2。

版本 7.7.1.0

  • 已验证与 Fyber SDK 7.7.1 版的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 19.4.0。

构建和测试所需版本:

  • Google 移动广告 SDK 19.4.0 版。
  • Fyber SDK 7.7.1 版。

版本 7.7.0.0

  • 已验证与 Fyber SDK 7.7.0 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 19.3.0 版。
  • Fyber SDK 7.7.0 版。

版本 7.6.1.0

  • 已验证与 Fyber SDK 7.6.1 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 19.3.0 版。
  • Fyber SDK 7.6.1 版。

版本 7.6.0.0

  • 已验证与 Fyber SDK 7.6.0 的兼容性。
  • 更新了适配器,以支持内嵌自适应横幅广告请求。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 19.3.0。
  • 修复了横幅广告的 onAdOpened()/onAdClosed() 方法未被调用的 bug。

构建和测试所需版本:

  • Google 移动广告 SDK 19.3.0 版。
  • Fyber SDK 7.6.0 版。

版本 7.5.4.0

  • 已验证与 Fyber SDK 7.5.4 版的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 19.1.0。

构建和测试所需版本:

  • Google 移动广告 SDK 19.1.0 版。
  • Fyber SDK 7.5.4 版。

版本 7.5.3.0

  • 已验证与 Fyber SDK 7.5.3 版的兼容性。

构建和测试所需版本:

  • Google 移动广告 SDK 19.0.1 版。
  • Fyber SDK 7.5.3 版。

版本 7.5.2.0

  • 已验证与 Fyber SDK 7.5.2 的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 19.0.1。

构建和测试所需版本:

  • Google 移动广告 SDK 19.0.1 版。
  • Fyber SDK 7.5.2 版。

版本 7.5.0.0

  • 已验证与 Fyber SDK 7.5.0 的兼容性。
  • 修复了 Fyber 广告加载期间发生的 NullPointerException 崩溃。

构建和测试所需版本:

  • Google 移动广告 SDK 18.3.0 版。
  • Fyber SDK 7.5.0 版。

版本 7.4.1.0

  • 已验证与 Fyber SDK 7.4.1 的兼容性。
  • 将最低必需的 Google 移动广告 SDK 版本更新为 18.3.0。

构建和测试所需版本:

  • Google 移动广告 SDK 18.3.0 版。
  • Fyber SDK 7.4.1 版。

版本 7.3.4.0

  • 初始版本!
  • 支持横幅广告、插页式广告和激励广告。

构建和测试所需版本:

  • Google 移动广告 SDK 18.2.0 版。
  • Fyber SDK 7.3.4 版。