網路追蹤

網路追蹤可讓您查看與 Google 行動服務相關的網路活動 廣告 SDK。以便對導入 Google 行動廣告時進行偵錯。

使用網路追蹤功能 (而非 Charles 等工具) 的主要原因 Proxy 可與「所有」版本的 搭載支援 Google Play 服務版本的 Android 和裝置。這個 使用 Proxy 處理工具 自 Android 7.0 版本起就設置了信任的 CA 和憑證

本指南說明如何啟用網路追蹤功能,以便偵錯。

Enable tracing

如要啟用網路追蹤,請啟用開發人員 兩個選項。 接著,啟動 Google 設定應用程式,並選取「廣告」選項:

假設您已啟用開發人員選項,且可使用該功能, 畫面看起來會像這樣:

選取「啟用廣告偵錯記錄功能」選項,開啟下列對話方塊:

輕觸「確定」,畫面上就會顯示結尾是廣告 ID 的廣告 ID 主講者: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
  }
}