中介功能测试套件

通过 Google 移动广告中介功能测试套件,您可以测试是否正确配置了应用和广告单元,使其能够通过中介功能展示来自第三方广告联盟的广告。本指南简要介绍了如何将 Google 移动广告中介功能测试套件集成到您的 Android 应用中,以在应用中使用此工具。

前提条件

  • Android SDK 4.1(API 级别 16)或更高版本。
  • Google Play 服务 9.8.0 或更高版本。
  • 确保您已在 AndroidManifest.xml 中正确输入您的应用 ID。

安装

使用 Gradle

将以下必需的依赖项复制到应用的 build.gradle 文件中:

dependencies {
    // You should already have the ads dependency in your app.
    implementation 'com.google.android.gms:play-services-ads:19.4.0'
    implementation 'com.google.android.ads:mediation-test-suite:1.4.0'
}

google() 代码库加入顶级 build.gradle 文件中:

// Top-level build file where you can add configuration options common to all
// sub-projects/modules.

buildscript {

   repositories {
       google()
       jcenter()
   }
   dependencies {
       classpath 'com.android.tools.build:gradle:3.2.1'

       // NOTE: Do not place your application dependencies here; they belong
       // in the individual module build.gradle files
   }
}

allprojects {
   repositories {
       google()
       jcenter()
   }
}

启动中介功能测试套件

设置

使用下面这行代码启动中介功能测试套件:

MediationTestSuite.launch(MainActivity.this);

该工具打开时会显示以下免责声明:

勾选复选框,然后按同意以继续。

系统随后会显示您帐号的广告单元列表,分为两个标签页:投放异常的广告单元正常投放的广告单元

投放异常的广告单元列表又分为组件缺失配置错误

在广告单元的所有广告联盟测试成功后,该广告单元将会从“投放异常”标签页移至“正常投放”标签页。如果您没有看到广告单元列表,则说明广告联盟调用失败,或未找到广告单元。

如果要搜索广告单元列表,请按顶部的搜索图标,然后输入广告单元 ID 的字符串。您还可以按广告联盟名称或广告格式来进行搜索。

对于每个广告单元,如果出现以下情况,此屏幕会显示警告:

  • 未安装广告来源 SDK
  • 未安装广告来源适配器
  • 广告来源需要的清单条目未配置

如果可以进行测试,该屏幕还会显示所有广告来源的总体测试结果状态。

选择一个广告单元即可进入广告单元详情屏幕。

广告单元详情

此屏幕会显示 ad unit 的详细信息,包括 ad unit ID、广告格式以及为该 ad unit 配置的中介广告瀑布流:

请注意此屏幕上的以下各方面内容:

广告来源摘要

对于每个广告来源,都会有指示器显示 SDK 和适配器是否已安装,是否已找到任何必需的清单条目,以及此配置在这一会话中的最后一次测试结果。

对于自定义事件,会使用 Custom Event: custom event 标签。如果找到了您为该自定义事件指定的类,该自定义事件的适配器状态指示器将显示正值。与其他广告联盟一样,您也可以为自定义事件加载和查看广告。

搜索

按搜索图标会显示一个搜索屏幕,您可以在此屏幕中根据广告来源名称搜索广告来源。

批量测试

通过选中广告来源名称左侧的复选框,可以选择要批量测试的每个广告来源。然后,导航栏中会出现一个新选项:

按右上角的加载广告按钮,即可按顺序加载所选广告来源的广告。在测试过程中会显示进度指示器。按左上角的后退图标可清除选择。

加载和展示广告

点按广告来源条目即可查看广告来源详情屏幕:

对于给定的广告来源,屏幕会显示以下信息:

  • SDK 是否已安装,如果已安装则显示 SDK 版本。
  • 适配器是否已安装,如果已安装则显示适配器版本。
  • 所有必需的清单条目是否已正确配置。
  • 适配器初始化状态(如果有)。
  • 在 AdMob 控制台中输入的配置参数。

安装完所有必需的组件后,您就可以进而测试加载广告了。点按加载广告,以向广告来源的 SDK 发送广告请求。在广告请求完成后,会显示一条说明请求是否成功的更新消息。

如果请求失败,请检查控制台日志,查看所测试的 SDK 提供的消息。

如果请求成功:

  • 对于横幅广告,会以内嵌方式展示广告。
  • 对于插页式广告或激励广告,您可以通过点按展示广告来展示广告。
  • 对于原生广告,会以内嵌方式显示返回的素材资源。

    广告会在新的屏幕中打开,例如:

当您返回“详细信息”屏幕时,系统会显示您上次在 ad unit 列表屏幕中测试该广告的结果。已成功加载的广告来源会被移至列表底部,从而让需要进一步测试的广告来源排在列表前面。

公开出价合作伙伴

如需详细了解如何测试公开出价,请参阅验证公开出价设置指南

在生产阶段启用测试

默认情况下,中介功能测试套件仅在可调试的中启动。这是为了防止最终用户意外启动该测试套件。

在应用进入生产阶段后,如果您需要在设备上运行该中介功能测试套件,请使用 SDK 将您的设备注册为测试设备

当生产应用中包含中介功能测试套件时,您需要采用一种隐蔽的方式启动测试套件(例如秘密手势或调试菜单)。然后,您可以在已在版本中列入许可名单的任意设备上启动该测试套件。

使用广告联盟额外信息配置广告请求(可选)

对于某些参与中介的广告联盟(如 Vungle),可以选择提供自定义广告联盟额外集合,以便为其广告联盟的请求提供额外信息。

如果您需要为中介请求提供广告联盟额外信息,则可以使用 MediationTestSuite.setAdRequest() 静态方法设置广告请求,以供测试套件使用:

Java

AdRequest requestBuilder = new AdRequest.Builder();
...
// Set your network extras for your chosen networks here.
// I.e., for each network extras bundle, call
// 'requestBuilder.addNetworkExtrasBundle(\,
// \)'
...
MediationTestSuite.setAdRequest(requestBuilder.build());

Kotlin

val requestBuilder = AdRequest.Builder()
...
// Set your network extras for your chosen networks here.
// I.e., for each network extras bundle, call
// 'requestBuilder.addNetworkExtrasBundle(\,
// \)'
...
MediationTestSuite.setAdRequest(requestBuilder.build())

请务必先完成此操作,然后再启动中介功能测试套件。

这可让您使用任何必需的额外信息对广告请求进行实例化和配置,然后供测试套件向参与中介的广告联盟发送请求时使用。