ネットワーク トレース

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

ネットワーク トレースを使う主なメリットは、Charles プロキシなどのツールとは異なり、iOS のすべてのバージョンと、第三者セキュリティ証明書プロファイルを信頼していないデバイスで動作する点です。これは、iOS 10.3 以降に適用された証明書プロファイル要件に対応するプロキシツールではできない動作です。

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

トレースを有効にする

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

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

ログを記録する

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

コンソールのログメッセージは、先頭の文字列が必ず GMA Debug BEGINGMA Debug CONTENTGMA 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 のエンジニアに提供すると、詳しく分析してもらえます。