本指南介绍了如何使用 Google 移动广告 SDK 使用 AdMob 中介加载和展示来自 DT 广告交易平台的广告,并涵盖广告瀑布流集成。其中介绍了如何将 DT Exchange 添加到广告单元的中介配置,以及如何将 DT Exchange SDK 和适配器集成到 Android 应用中。
支持的集成和广告格式
DT Exchange 的中介适配器具有以下功能:
集成 | |
---|---|
出价 | |
瀑布 | |
表现形式 | |
横幅 | |
插页式广告 | |
激励广告 | |
原生 |
要求
- Android API 级别 21 或更高级别
最新版 Google 移动广告 SDK
完成中介入门指南
第 1 步:在 DT Exchange 界面中设置配置
添加新的应用和广告展示位置
点击添加应用按钮以添加应用。
选择您的平台,填写表单的其余部分,然后点击添加展示位置。
在标记为为展示位置命名的字段中输入新展示位置的名称,然后从下拉列表中选择所需的展示位置类型。最后,点击保存展示位置。
应用 ID 和展示位置 ID
将鼠标悬停在左侧导航栏上,即可打开该导航栏。然后,点击左侧菜单中的应用。
在应用管理页面上,记下应用旁边的应用 ID。
选择您的应用,前往展示位置标签页,然后点击展示位置名称旁边的复制图标。记下展示位置 ID。
发布商 ID、使用方密钥和使用方密码
点击左侧菜单中的用户名,然后选择用户个人资料。
记下发布商 ID、使用方密钥和使用方 Secret,因为您在下一步中需要用到这些信息。
第 2 步:在 AdMob 界面中设置 DT Exchange 需求
为广告单元配置中介设置
您需要将 DT Exchange 添加到广告单元的中介配置中。
首先,登录您的 AdMob 账号。接下来,前往中介标签页。如果您有现有中介组要修改,请点击该中介组的名称进行修改,然后跳至将 DT 广告交易平台添加为广告来源。
如需创建新的中介组,请选择创建中介组。
输入广告格式和平台,然后点击继续。
为中介组命名,然后选择要定位的地理位置。接下来,将中介组状态设为启用,然后点击添加广告单元。
将此中介组与一个或多个现有 AdMob 广告单元相关联。然后,点击完成。
您现在应该会看到广告单元卡片,其中填充了您选择的广告单元:
将 DT Exchange 添加为广告来源
在广告来源部分的广告瀑布流卡片下,选择添加广告来源。然后选择 DT Exchange。
选择 DT Exchange,然后启用 Optimize 开关。输入您在上一部分中获取的发布商 ID、使用方密钥和使用方密钥,以便为 DT Exchange 设置广告来源优化。 然后,为 DT 广告交易平台输入有效每千次展示费用值,然后点击继续。
如果您已为 DT Exchange 创建映射,可以选择该映射。 否则,请点击添加映射。
接下来,输入您在上一部分中获取的应用 ID 和展示位置 ID。然后,点击完成。
将 DT Exchange (Fyber Monetization) 添加到 GDPR 和美国州级法规广告合作伙伴名单
请按照 GDPR 设置和 美国州级法规设置中的步骤,将 DT Exchange (Fyber Monetization) 添加到 AdMob 界面中的 GDPR 和美国州级法规广告合作伙伴名单中。
第 3 步:导入 DT Exchange SDK 和适配器
Android Studio 集成(推荐)
在应用级 build.gradle.kts
文件中,添加以下实现依赖项和配置。使用最新版本的 DT 广告交易平台 SDK 和适配器:
dependencies {
implementation("com.google.android.gms:play-services-ads:23.6.0")
implementation("com.google.ads.mediation:fyber:8.3.3.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 中实现隐私设置
欧盟地区用户意见征求和《一般数据保护条例》(GDPR)
根据 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 广告交易平台 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 步:测试您的实现
启用测试广告
请务必为 AdMob 注册测试设备。
验证测试广告
如需验证您是否在接收来自 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);
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 | AdMob 界面中配置的 DT Exchange 服务器参数缺失/无效。 |
103 | 请求的广告尺寸与 DT Exchange 支持的横幅广告尺寸不符。 |
105 | DT Exchange SDK 加载了广告,但返回了非预期的控制器。 |
106 | 广告尚未准备好展示。 |
200-399 | DT Exchange SDK 返回了错误。如需了解详情,请参阅代码。 |
DT Exchange Android 中介适配器更新日志
版本 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
- 将
compileSdkVersion
和targetSdkVersion
更新为 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。