Rastreamento de rede

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

使用网络跟踪功能而非 Charles 等工具的主要原因 代理的优点是,它适用于所有版本的 Android 设备和运行受支持的 Google Play 服务版本的设备。这个 但使用代理工具时却并非如此, 自 Android 7.0 以来就已采用的可信 CA 和证书

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

启用跟踪功能

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

假设您已启用开发者选项,并且该功能可用,您的 将如下所示:

选择启用广告调试日志记录选项,以打开以下对话框:

点按确定,然后就会看到一个以 与 10ca1ad1abe1 共享:

现在,您可以在 logcat 中查看网络日志记录的所有输出。接收者 仅过滤信息级广告输出到屏幕和文件,问题 以下命令:

adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txt

输出

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

控制台日志消息始终以字符串 GMA Debug BEGIN 开头, GMA 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 输出示例

以下是 logcat 的一些 JSON 输出示例:

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
  }
}