将 DT Exchange 与中介集成

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

支持的集成和广告格式

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

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

要求

  • Android API 级别 21 或更高级别

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

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

注册登录 DT 广告交易平台。

点击 Add App(添加应用)按钮添加您的应用。

管理应用

选择您的平台,填写表单的其余部分,然后点击添加展示位置

在标记为为展示位置命名的字段中输入新展示位置的名称,然后从下拉列表中选择所需的展示位置类型。最后,点击 Save Placement

设置

应用 ID 和展示位置 ID

将鼠标悬停在左侧导航栏上,即可打开该导航栏。然后,点击左侧菜单中的应用

菜单

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

应用 ID

选择您的应用,前往展示位置标签页,然后点击展示位置名称旁边的复制图标。记下展示位置 ID

展示位置 ID

发布商 ID、使用方密钥和使用方密码

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

用户个人资料菜单

记下发布商 ID使用方密钥使用方密钥,因为下一步中会用到这些信息。

用户个人资料

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

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

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

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

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

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

手动集成

  • 下载最新版本的 DT Exchange SDK for Android,并将以下文件添加到您的项目中:
    • ia-mraid-kit-release-x.y.z.aar
    • ia-sdk-core-release-x.y.z.aar
    • ia-video-kit-release-x.y.z.aar
  • 前往 Google 的 Maven 制品库中的 DT Exchange 适配器工件。选择最新版本,下载 DT Exchange 适配器的 .aar 文件,然后将其添加到您的项目中。

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

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

DT Exchange 包含一个 API,可让您将用户意见征求转发到其 SDK。以下示例代码展示了如何手动将意见征求信息传递给 DT Exchange 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 资源页面以及其GDPR 实现指南

美国州级隐私保护法律

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

DT Exchange 包含一个 API,可让您将用户意见征求转发到其 SDK。以下示例代码展示了如何手动将意见征求信息传递给 DT Exchange SDK。如果您选择手动将用户意见征求信息传递给 DT Exchange 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 资源页面以及其CCPA 实现指南

第 5 步:添加所需的代码

无需额外代码即可实现 DT Exchange 集成。

第 6 步:测试您的实现

可选步骤

网络专用参数

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);

AdRequest request = new AdRequest.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 = AdRequest.Builder()
   .addNetworkExtrasBundle(FyberMediationAdapter::class.java, extras)
   .build()

错误代码

如果适配器未能从 DT Exchange 收到广告,您可以使用以下类下的ResponseInfo.getAdapterResponses()检查广告响应的根本错误:

com.google.ads.mediation.fyber.FyberMediationAdapter

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

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

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

版本 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 或多个唯一应用 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。