网络跟踪

借助网络跟踪功能,您可以查看与 Google 移动广告 SDK 相关的网络活动。这在调试 Google 移动广告实现时会很有用。

使用网络跟踪功能而非 Charles 代理等工具的主要原因是:网络跟踪功能适用于所有 Android 版本以及使用受支持的 Google Play 服务版本的设备。由于自 Android 7.0 以来受信任的 CA 及相关证书发生变化,代理工具并不具备如此广泛的适用性。

本指南介绍了如何出于调试目的而启用网络跟踪功能。

启用跟踪

要启用网络跟踪功能,请为您的设备启用开发者选项。然后,启动 Google 设置应用,并选择广告选项。

假设您已启用开发者选项并且该功能可用,则将在屏幕上看到以下内容:

选择启用广告调试日志功能选项。然后,您会看到以下对话框:

点按确定,随即便会看到一个以 loca1ad1abe1 结尾的广告标识符:

现在,您可以在 logcat 中看到网络日志记录的所有输出。

要仅查看日志输出,同时将其保存到日志文件中,一种简便方法是使用以下 logcat 命令:

adb logcat *:S Ads:I | grep "GMA Debug" | tee logs.txt

它会将日志输出记录到终端,并将所有日志输出保存到 logs.txt 文件。

输出

适用于标准平台的控制台日志用于输出网络日志。

控制台日志消息始终以字符串 GMA Debug BEGINGMA Debug CONTENTGMA Debug FINISH 开头,以便可以对其进行搜索或滤除。对于每个网络日志,第一条日志消息为 GMA Debug BEGIN,最后一条日志消息为 GMA Debug FINISH,并且网络日志内容以 GMA Debug CONTENT 开头。如果网络日志内容过长,无法完全显示在一行中,则会将其拆分为多行,且每一行都以 GMA Debug CONTENT 开头。

控制台输出示例

I/Ads     ( 4660): GMA Debug BEGIN
I/Ads     ( 4660): GMA Debug CONTENT {"timestamp":1510679993741,...}
I/Ads     ( 4660): GMA Debug FINISH

JSON 输出示例

以下示例 SDK 输出已设置为便于阅读的格式:

onNetworkRequest

{
  "timestamp": 1510679994904,
  "event": "onNetworkRequest",
  "components": [
    "ad_request_cf5ab185-3c3f-4f01-9f56-33da2ae110f2",
    "network_request_6553bc32-1d44-4f18-9dd0-5c183abbeb90"
  ],
  "params": {
    "firstline": {
      "uri": "http://googleads.g.doubleclick.net/pagead/ads?carrier=....",
      "verb": "GET"
    },
    "headers": [
      {
        "name": "User-Agent",
        "value": "Mozilla/5.0 (Linux; Android 5.0.2;..."
      }
    ]
  }
}

onNetworkResponse

{
  "timestamp": 1510679995295,
  "event": "onNetworkResponse",
  "components": [
    "ad_request_cf5ab185-3c3f-4f01-9f56-33da2ae110f2",
    "network_request_6553bc32-1d44-4f18-9dd0-5c183abbeb90"
  ],
  "params": {
    "firstline": {
      "code": 200
    },
    "headers": [
      {
        "name": null,
        "value": "HTTP/1.1 200 OK"
      },
      {
        "name": "X-Google-DOS-Service-Trace",
        "value": "main:pagead"
      },
      {
        "name": "Content-Type",
        "value": "text/html; charset=UTF-8"
      },
      ...
    ]
  }
}

onNetworkResponseBody

{
  "timestamp": 1510679995375,
  "event": "onNetworkResponseBody",
  "components": [
    "ad_request_cf5ab185-3c3f-4f01-9f56-33da2ae110f2",
    "network_request_6553bc32-1d44-4f18-9dd0-5c183abbeb90"
  ],
  "params": {
    "bodydigest": "B2520049D02F3C70A12AD1BC0D1B58A4",
    "bodylength": 122395
  }
}

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面