ネットワーク トレース

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

Charles プロキシなどのツールの代わりにネットワーク トレースを使用する主な理由は、サードパーティのセキュリティ証明書プロファイルを信頼せずに、すべての iOS バージョンとデバイスで動作することです。iOS 10.3 以降で適用された証明書プロファイルの要件により、プロキシツールは該当しません。

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

トレースを有効にする

ネットワーク トレースを有効にするには、plist ファイルで GADEnableNetworkTracing キーを YES に設定します。

ネットワーク トレースを有効にすると、Google Mobile Ads SDK によってネットワーク イベントがコンソールに記録されます。ログのコピーをデベロッパー フォーラムの非公開返信としてエンジニアに提供し、分析してもらうこともできます。

ロギング

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

コンソールのログメッセージは常に GMA Debug BEGINGMA Debug CONTENT、または GMA Debug FINISH という文字列で始まっているため、検索や除外が可能です。各ネットワーク ログでは、最初のログメッセージは GMA Debug BEGIN、最後のログメッセージは GMA Debug FINISH、ネットワーク ログの内容は GMA Debug CONTENT で始まります。ネットワーク ログの内容が長すぎて 1 行に収まらない場合は、複数の行に分割され、各行は GMA Debug CONTENT で始まります。

出力例

<Your App Name>[2710:30568] <Google> GMA Debug BEGIN
2017-12-06 09:47:09.268020-0800 <Your App Name>[2710:30568] <Google> GMA Debug CONTENT: {
  "components" : [
    "network_request_31107D12-E54E-45D6-AEA9-4A303C659EDF"
  ],
  "timestamp" : 1512582429267.2629,
  "event" : "onNetworkRequest",
  "params" : {
    "firstline" : {
      "uri" : "<encoded text>",
      "verb" : "<encoded text>"
    },
    "headers" : [
      {
        "name" : "<encoded text>",
        "value" : "<encoded text>"
      }
    ]
  }
}
2017-12-06 09:47:09.275742-0800 <Your App Name>[2710:30568] <Google> GMA Debug FINISH

その後、分析のためにログのコピーを Google のエンジニアに提供できます。