广告检查器

广告检查器 是一款应用内叠加层,可让获得授权的设备直接在移动应用内对测试广告请求进行实时分析。 它包含在 Google 移动广告 SDK 7.68.0 及更高版本中,无需编码即可启用。

在版本低于8.5.0的移动广告 SDK 中使用广告检查器时,您可以:

  • 检查您的广告单元
  • 检查您的第三方适配器
  • 检查广告是否按预期填充
  • 发现错误并查看有关如何修正错误的详细信息
  • 查看每个请求中各个广告联盟的中介详情
  • 测试单个第三方中介广告来源
  • 验证是否已针对广告瀑布流中介正确配置了每个广告单元
  • 测试自定义事件集成

对于移动广告 SDK 版本 8.5.0 及更高版本,您还可以:

  • 按请求查看每个广告联盟的出价详情
  • 查看每个请求中各个广告联盟的出价和广告瀑布流中介详细信息
  • 测试单个第三方出价广告来源或广告瀑布流中介广告来源
  • 验证是否已针对出价和广告瀑布流中介正确配置了每个广告单元

本指南将演示如何启动和使用广告检查器中的不同功能。

前提条件

若要使用广告检查器,您需要:

  • 使用 Google 移动广告 SDK 版本 7.68.0 或更高版本。

启动广告检查器

您可以通过以下方式从应用中的任意位置启动广告检查器:

  1. 注册测试设备时,使用在 AdMob 界面中选择的手势。
  2. 使用提供的 API 以编程方式启动。
  3. 使用调试菜单中的“启动”按钮。

使用手势启动

您无需对应用进行任何更改,即可使用手势启动广告检查器;只需执行您在 AdMob 中为该测试设备配置的手势(轻点两下或摇晃)。了解详情

在 AdMob 界面中设置手势后(等待 15 分钟使其生效),您的应用需要发出广告请求,以便 Google 移动广告 SDK 了解您的手势设置。如果指定的手势不起作用,请尝试加载广告,重启应用,然后再次测试手势。

以编程方式启动

广告检查器也可以通过编程方式启动:

Swift

GADMobileAds.sharedInstance().presentAdInspector(from: viewController) { error in
  // Error will be non-nil if there was an issue and the inspector was not displayed.
}

Objective-C

[GADMobileAds.sharedInstance presentAdInspectorFromViewController:viewController
  completionHandler:^(NSError *error) {
    // Error will be non-nil if there was an issue and the inspector was not displayed.
}];

此 API 适用于以程序化方式或在 AdMob 界面中注册的测试设备。

确保传递给此 API 的视图控制器已完全在屏幕上可见(已调用 viewDidAppear:)。如果传递的视图控制器正处于显示过程中(例如,在视图控制器的 viewDidLoad 函数中调用 API 时),将无法显示广告检查器。

查看广告单元并排查相关问题

启动后,系统会显示广告检查器主屏幕,列出 AdMob 界面中与您的 AdMob 应用 ID 相关联且具有出价或中介配置的所有广告单元:

我们建议您先初始化 Google 移动广告 SDK,然后再使用广告检查器。

查看广告单元的中介广告瀑布流详细信息

点按某个广告单元以查看其 SDK 请求日志,其中提供了最新广告请求在填充广告之前(或在广告瀑布流以无任何广告填充而结束之前)的中介广告瀑布流的详细信息。

可以使用披露指示器展开每个请求,以显示该请求的中介广告瀑布流结果,以及适用于该请求的任何错误和延迟。

对于第三方广告来源,错误消息会直接从广告来源发送。如需了解详情,请咨询您的第三方广告来源。

查看广告单元的出价详情

前提条件:Google 移动广告 SDK 8.5.0 或更高版本

如果您刚开始接触出价,请参阅概览

在 SDK 请求日志中,您可以看到广告请求中调用的 bidding 广告来源。点按 SDK 请求日志中的某个广告单元,即可查看竞价中每个广告来源的详细信息。 bidding

对 bidding 结果进行了排序,使可操作项更靠近列表顶部:

  • 最上面显示的是赢得竞价的广告联盟。

  • 接下来是存在问题的广告联盟。您可以按照 相应问题的排查步骤操作。

  • 然后是未返回广告或未出价的广告联盟。这可能表明该广告来源存在许多不同的问题,因为广告来源可能会因设置或决策原因而没有出价。您可以参阅广告来源的设置指南,或 直接与广告来源联系以寻求支持

  • 最后,列表底部是竞价失败的广告联盟bidding 。

中介广告瀑布流可以根据广告来源的有效每千次展示费用 (eCPM) 值来放置赢得竞价的广告来源bidding 。

在中介广告瀑布流中调用某个广告来源后,该广告来源就可以投放广告。 如需详细了解出价如何与中介广告瀑布流协同运作,请参阅中介组中出价广告来源和瀑布流广告来源的示例 2示例 3

高级广告单元调试

在对广告单元进行问题排查时,深入分析广告请求和响应会很有帮助,找出问题所在,或者与 Google 支持团队分享相关信息,以帮助进行调试。点按广告瀑布流链顶部的菜单图标,然后选择共享广告请求和响应,即可导出完整的广告请求和响应。这样您就不必在自己的应用上运行网络跟踪记录。

此外,您还可以在请求字符串所在的菜单中点按 Third-party bidding parameters 选项,查看已解码的第三方出价参数。这会提供有关哪些第三方出价参数可能存在问题的详细信息,帮助您调试应用或验证广告联盟是否成功收集其信号。

查看可用的适配器

点击适配器标签页,以列表形式查看与应用中出价或中介配置中的广告来源关联的所有第三方适配器。然后,展开卡片以查看其初始化状态和 SDK 版本。 除了受支持的第三方适配器之外,您还可以查看自定义事件适配器。利用自定义事件,发布商可以使用 AdMob不支持的广告联盟。自定义事件通过唯一的类名称与适配器列表中的标准第三方适配器区分开来。除了提供类名称和状态信息之外,广告检查器还会在AdMob 网页界面中显示为这些自定义事件分配的标签。

如果找不到适配器或初始化失败,请参阅 排查使用广告检查器发现的问题 了解详情。

测试广告单元

如果您希望无需在应用界面中转到广告单元即可测试该广告单元,广告检查器支持直接从广告单元详情屏幕执行此操作。此外,您还可以同时测试多个广告单元、异步加载和查看测试广告请求,甚至可以执行单个广告来源测试。

广告测试

本部分所述的广告检查器广告测试是一款出色的工具,可用于在与单一广告来源测试搭配使用时验证您的基本广告体验和中介配置。

准备好测试广告单元后,请点按广告检查器屏幕顶部的请求测试广告按钮,以触发广告检查器的广告测试。然后,测试结果会显示在 SDK 请求日志中的 Requested from ad Inspector 标头下。

了解如何在应用中使用广告检查器

单个广告来源测试

广告检查器提供了一项功能,可让您限制应用中的广告请求,以便仅投放来自单个 bidding 或广告瀑布流中介广告来源的广告。这样,您就可以验证是否已正确实现第三方适配器,以及广告来源是否按预期投放。

如需启用此功能,请开启屏幕底部的单一广告来源测试开关。系统会显示以下广告来源选择对话框:

您必须先初始化 Google 移动广告 SDK,然后才能使用单一广告来源测试。

然后,您可以选择单个广告来源进行测试。选择广告来源后,系统会显示以下屏幕:

单一广告来源测试设置适用于您今后在同一会话中发出的所有广告请求。不过,它不会应用于该会话中之前缓存但尚未显示的任何广告。建议您在应用单个广告来源测试时强制重启您的应用,以便使可能会投放(而非您所选广告来源接收请求)的所有缓存广告失效。

重启您的应用后,所有广告单元展示位置都会尝试仅展示所选广告资源网中的广告。在单个广告来源测试处于活动状态时启动广告检查器,即会显示有效的测试广告来源:

在单一广告来源测试模式下,所有广告请求都会尝试从所选广告来源填充广告,无论该广告来源是针对所请求的广告单元进行出价还是针对中介配置的。如果您要测试的广告来源不在广告单元的中介广告瀑布流中,您会收到“未填充”错误消息。

在单一广告来源测试中,您可以点按广告单元来查看其 SDK 请求日志。 这样您就可以了解该广告来源是否填充了在启用单一广告来源测试后发出的广告请求。如果广告来源未能加载广告,系统会显示一条错误消息,说明相应错误。

如果您将所选广告来源的多个实例添加到某个中介广告瀑布流,则会在广告瀑布流中看到对该广告来源的每一次调用,直到广告填充完毕或广告瀑布流以无任何广告填充而结束为止。

停止单个广告来源测试

如需停止测试,请关闭开关:

然后,以下重启屏幕上会显示一条确认消息:

我们建议您在停止测试后强制重启您的应用,以便使接受测试的广告来源的缓存广告失效。

复制整个调试输出

广告检查器支持从该工具复制包含完整调试输出的 JSON 字符串,其中包括AdMob 应用的详细信息、适配器初始化状态以及所有广告单元的测试结果。

为此,请点按应用图标七次,直到您看到将广告检查器 JSON 复制到剪贴板的消息。