本指南介绍了如何使用 GMA Next-Gen SDK 通过中介加载和展示来自 myTarget 的广告,其中涵盖了瀑布流集成。如何将 myTarget 添加到广告单元的中介配置,以及如何将 myTarget SDK 和适配器集成到 Android 应用中。
支持的集成和广告格式
myTarget 的中介适配器具有以下功能:
| 集成 | |
|---|---|
| 出价 | |
| 瀑布流 | |
| 表现形式 | |
| 横幅 | |
| 插页式广告 | |
| 激励广告 | |
| 原生 | |
要求
- Android API 级别 24 或更高级别
“GMA Next-Gen SDK”的最新视频。
完成中介入门指南。
第 1 步:在 myTarget 界面中设置配置
登录您的 myTarget 账号。点击标题中的应用,前往“应用”页面。点击添加应用,添加您的应用。

接下来,提供应用的 Google Play 网址。

添加应用时,myTarget 要求您先创建广告单元,然后才能完成该流程。
横幅
从可用的广告格式中选择横幅,然后点击添加广告单元按钮。

插页式广告
从可用的广告格式中选择插页式广告,然后点击添加广告单元按钮。

激励广告
从可用的广告格式中选择激励视频广告,然后点击添加广告单元按钮。

原生
从可用的广告格式中选择原生,然后点击添加广告单元。

在广告单元的详情页面中,记下您的广告位 ID,该 ID 可在广告单元设置下找到,显示为 slot_id。此 slot ID 将用于在下一部分中设置您的 Ad Manager 广告单元。

除了 slot_id 之外,您还需要 myTarget Permanent Access Token 才能设置 AdMob 广告单元 ID。前往个人资料标签页,然后选择访问令牌。点击 Create Token(创建令牌)或 Show Token(显示令牌),即可查看您的 myTarget 永久访问令牌。

更新 app-ads.txt
应用授权卖方 (app-ads.txt) 是一项 IAB Tech Lab 计划,有助于确保只通过您认定的授权渠道销售您的应用广告资源。为避免损失大量广告收入,您需要实施 app-ads.txt 文件。
如果您尚未完成此项操作,请为 Ad Manager 创建 app-ads.txt 文件。
如需为 myTarget 实现 app-ads.txt,请参阅如何创建和发布文件。
启用测试模式
按照 myTarget 的文档中的说明,在 myTarget 界面中添加和配置测试设备。
第 2 步:在 Ad Manager 界面中设置 myTarget 需求
为广告单元配置中介设置
登录您的 Ad Manager 账号。
依次前往投放 > 收益组,然后点击新建收益组按钮。

为收益组输入唯一的名称,将状态设置为有效,选择广告格式,并将广告资源类型设置为移动应用。在定位 > 广告资源部分下,选择您要向广告资源和移动应用添加中介的广告单元。
接下来,点击添加收益合作伙伴按钮。

如果您已为 myTarget 设置收益合作伙伴,可以选择该合作伙伴。否则,请选择创建新的收益合作伙伴。
选择 myTarget 作为广告联盟,输入唯一的名称,然后启用中介。
开启数据收集,然后输入在上一部分中获得的永久访问令牌。

选择收益合作伙伴后,选择移动 SDK 中介作为集成类型,Android 作为平台,有效作为状态。输入您在上一部分中获得的插槽 ID。然后,输入默认每千次展示费用值。

完成后,点击页面底部的保存。
将 Mail.ru 添加到 GDPR 和美国州级法规广告合作伙伴名单中
请按照欧洲法规设置和美国州级法规设置中的步骤,将 Mail.ru 添加到 Ad Manager 界面内的欧洲法规和美国州级法规广告合作伙伴名单中。
第 3 步:导入 myTarget SDK 和适配器
Android Studio 集成(推荐)
在应用级 Gradle 文件中,添加以下实现依赖项和配置:
Kotlin
dependencies { implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02") implementation("com.google.ads.mediation:mytarget:5.27.4.1") } 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.google.ads.mediation:mytarget:5.27.4.1' } configurations.configureEach { exclude group: 'com.google.android.gms', module: 'play-services-ads' exclude group: 'com.google.android.gms', module: 'play-services-ads-lite' }
手动集成
如需添加 myTarget SDK,请参阅 myTarget Android SDK 文档。
前往 Google 的 Maven 制品库,找到 myTarget 适配器制品。选择最新版本,下载 myTarget 适配器的 .aar 文件,然后将其添加到您的项目中。
第 4 步:在 myTarget SDK 上实现隐私设置
欧盟地区用户意见征求和 GDPR
为了遵守 Google 的《欧盟地区用户意见征求政策》,您必须向欧洲经济区 (EEA)、英国和瑞士的用户披露某些信息,并征得他们同意才能使用 Cookie 或其他本地存储(如果法律有此要求),以及收集、分享和使用个人数据以实现广告个性化。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。您要负责验证用户意见是否已传播到中介链中的每个广告来源。Google 无法自动将用户意见传递给此类广告资源网。
在 SDK 版本 5.1.0 中,myTarget 添加了用户意见征求 API,以支持隐私权要求。以下示例代码展示了如何将此意见信息传递给 myTarget SDK。如果您选择调用此方法,建议您在通过 GMA Next-Gen SDK 请求广告之前进行调用。
Java
import com.my.target.common.MyTargetPrivacy;
// ...
MyTargetPrivacy.setUserConsent(true);
Kotlin
import com.my.target.common.MyTargetPrivacy
// ...
MyTargetPrivacy.setUserConsent(true)
此外,如果已知用户属于年龄限制类别,您可以使用以下代码将此同意情况信息传递给 myTarget SDK。
Java
import com.my.target.common.MyTargetPrivacy;
// ...
MyTargetPrivacy.setUserAgeRestricted(true);
Kotlin
import com.my.target.common.MyTargetPrivacy
// ...
MyTargetPrivacy.setUserAgeRestricted(true)
如需了解详情以及可在该方法中提供的值,请参阅 myTarget 的隐私权和 GDPR 指南。
美国州级隐私保护法律
美国各州隐私保护法律要求向用户提供选择拒绝“出售”其“个人信息”(该法律中对这些术语做出了定义)的权利,“出售”方须在首页醒目位置提供“Do Not Sell My Personal Information”(不出售我的个人信息)链接,以供这些用户选择。美国州级隐私保护法律合规性指南可让您为 Google 广告投放启用受限的数据处理,但 Google 无法将此设置应用于您的中介链中的每个广告联盟。因此,您必须确定中介链中可能参与个人信息出售的每个广告联盟,并遵循这些广告联盟的指南来确保合规性。
在 SDK 版本 5.9.0 中,myTarget 添加了用户同意 API,以支持隐私权要求。以下示例代码展示了如何将此意见信息传递给 myTarget SDK。如果您选择调用此方法,建议您在通过 GMA Next-Gen SDK 请求广告之前进行调用。
Java
import com.my.target.common.MyTargetPrivacy;
// ...
MyTargetPrivacy.setCcpaUserConsent(true);
Kotlin
import com.my.target.common.MyTargetPrivacy
// ...
MyTargetPrivacy.setCcpaUserConsent(true)
如需详细了解此方法中可提供的值,请与 myTarget 支持团队联系。
第 5 步:添加必需的代码
myTarget 集成不需要其他代码。
第 6 步:测试您的实现
启用测试广告
请务必为 Ad Manager 注册测试设备,并在 myTarget 界面中启用测试模式。
验证测试广告
若要验证您是否能收到来自 myTarget 的测试广告,请在广告检查器中启用 single ad source testing(单个广告来源测试),并选择 myTarget (Waterfall)(myTarget [瀑布流])作为广告来源。
可选步骤
使用原生广告
广告呈现
myTarget 适配器以 NativeAd 对象的形式返回其原生广告。它会为 NativeAd 填充以下字段。
| 字段 | 由 myTarget 适配器填充 |
|---|---|
| 标题 | 始终 |
| 图片 | 始终 |
| 正文 | 始终 |
| 应用图标 | 始终 |
| 号召性用语 | 始终 |
| 星级 | 不保证 |
| 商店 | 不保证 |
| 价格 | 不保证 |
| 徽标 | 不保证 |
| 广告客户 | 始终 |
myTarget SDK 始终针对 mediaView 宽度和高度返回 0,因此 myTarget 适配器始终针对 getAspectRatio() 返回 0。
myTarget SDK 将在未来的版本中修复此问题。
展示和点击跟踪
GMA Next-Gen SDK 使用 myTarget SDK 的回调函数来跟踪展示和点击,因此这两个来源的报告应该基本一致。
错误代码
如果适配器未能收到来自 myTarget 的广告,您可以使用 ResponseInfo.getAdSourceResponses() 来检查广告响应中归属于以下类的底层错误:
com.google.ads.mediation.mytarget.MyTargetAdapter
com.google.ads.mediation.mytarget.MyTargetNativeAdapter
com.google.ads.mediation.mytarget.MyTargetRewardedAdapter
以下是当广告加载失败时,myTarget 适配器会抛出的代码和随附的消息:
| 错误代码 | 原因 |
|---|---|
| 100 | myTarget SDK 返回了错误。 |
| 101 | 在 Ad Manager 界面中配置的 myTarget 服务器参数缺失/无效。 |
| 102 | 所请求的广告尺寸与 myTarget 支持的横幅尺寸不一致。 |
| 103 | 广告请求不是统一原生广告请求。 |
| 104 | 从 myTarget 加载的原生广告与请求的原生广告不同。 |
| 105 | 从 myTarget 加载的原生广告缺少一些必需的素材资源(例如图片或图标)。 |