ネットワーク トレース

プラットフォームを選択: iOS Android(以前のバージョン)

ネットワーク トレースでは、Google Mobile Ads SDK に関連するネットワーク アクティビティを確認できます。これは、Google Mobile Ads の実装をデバッグする際に役立ちます。

Charles Proxy などのツールの代わりにネットワーク トレースを使う主なメリットは、Android のすべてのバージョンと、サポートされているバージョンの Google Play 開発者サービスを実行しているデバイスで機能することです。Android 7.0 以降で導入された信頼できる CA と証明書の変更により、プロキシ ツールではこのようにはなりません。

このガイドでは、デバッグ目的でネットワーク トレースを有効にする方法について説明します。

トレースを有効にする

ネットワーク トレースを有効にするには、デバイスの開発者向けオプションを有効にします。次に、Google 設定アプリを起動し、[広告] オプションを選択します。

開発者向けオプションが有効になっていて、この機能が利用可能な場合、画面は次のようになります。

[広告のデバッグ ロギングを有効にする] オプションを選択して、次のダイアログを表示します。

[OK] をタップすると、10ca1ad1abe1 で終わる広告 ID が表示されます。

これで、logcat でネットワーク ロギングのすべての出力を確認できるようになりました。情報レベルの Ads 出力のみを画面とファイルの両方にフィルタするには、次のコマンドを発行します。

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

出力

ネットワーク ログを出力するには、プラットフォームに適した標準のコンソールログを使用します。

コンソール ログ メッセージは常に GMA Debug BEGIN、GMA Debug CONTENT、または GMA Debug FINISH の文字列で始まるため、これらの文字列で検索またはフィルタできます。各ネットワーク ログでは、最初のログメッセージは GMA Debug BEGIN、最後のログメッセージは GMA Debug FINISH、ネットワーク ログの内容は GMA Debug CONTENT で始まります。コンテンツが長すぎて 1 行に収まらない場合は、複数行に分割され、各行の先頭に 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
  }
}