ネットワーク トレース

ネットワーク トレースを使用すると、Google モバイル デバイスに関連するネットワーク アクティビティを確認できます。 。この情報は、Google モバイル広告の実装をデバッグするのに役立ちます。

Charles などのツールの代わりにネットワーク トレースを使用する主な理由は、 プロキシは、すべてのバージョンの サポートされているバージョンの Google Play 開発者サービスを搭載した Android とデバイス。この プロキシツールには適用されません。 信頼できる CA と証明書の導入状況(Android 7.0 以降)

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

トレースを有効にする

ネットワーク トレースを有効にするには、デベロッパー オプションが用意されています。 次に、Google 設定アプリを起動して [広告] オプションを選択します。

開発者向けオプションが有効になっていて、この機能が使用可能であれば、 次のようになります。

[広告のデバッグ ロギングを有効にする] オプションを選択すると、次のようなダイアログが表示されます。

[OK] をタップすると、終了する広告 ID が表示されます。 10ca1ad1abe1 の場合:

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

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