Android N 以降では、Charles プロキシで広告の呼び出しを確認するために、次の手順が必要です。
- モバイル デバイスで Google Play 開発者サービスを更新します。
- モバイル デバイスでネットワーク トレースを有効にします。
- デバイスに Charles SSL 証明書をインストールし、プロキシを設定します。
- モバイルアプリの SSL プロキシを有効にします。
モバイル デバイスで Google Play 開発者サービスを更新する
エミュレータを使用する場合、サイドメニューに Google Play のセクションが表示されないときは、Android Studio を更新して、[Virtual Device Configuration] にある最新のシステム イメージをダウンロードしてください。システム イメージを選択する際には、必ずターゲットに Google Play が含まれていることを確認してください。
サイドメニューで Google Play 開発者サービスのバージョンを確認し、最新バージョンに更新します。Google Play 開発者サービスの最低動作バージョンは 14.5.74
です。
モバイル デバイス本体(スマートフォンまたはタブレット)でこの手順を行う場合は、Google Play を検索するか、こちらのリンクから直接 Google Play を開くことができます。
モバイル デバイスでネットワーク トレースを有効にする
ネットワーク トレースを有効にするには、デバイスの開発者向けオプションを有効にする必要があります。Google 設定アプリを起動し、[Google] > [広告] > [広告のデバッグログを有効にする]を選択します。AdMob および Google アド マネージャーのパブリッシャー様は、詳しいガイドをご利用いただけます。
デバイスに Charles SSL 証明書をインストールし、プロキシを設定する
Charles をモバイルアプリのプロキシとして使用するには、Charles をダウンロードし、パソコンにインストールします。表示される手順に沿って、Android エミュレータまたはモバイル デバイスに SSL 証明書をインストールします。
エミュレータは Charles を実行しているパソコンと同じ Wi-Fi ネットワークにすでに接続されているため、エミュレータをプロキシと併用する方が手順はシンプルになります。エミュレータをプロキシと併用する場合は、プロキシを localhost(http://127.0.0.1
)に設定し、Charles プロキシが実行されているポート(Charles メニュー オプションの [Proxy] > [Proxy Settings] で確認できる)を設定します。
モバイル デバイス本体(スマートフォンまたはタブレット)を使用する場合は、Charles を実行しているパソコンと同じ Wi-Fi ネットワークに、高度なネットワーク設定を使用してモバイル デバイスを接続する必要があります。デバイス本体でプロキシを設定する際には、Charles のメニュー オプション [Help] > [Local IP address] を選択して、パソコンの IP アドレスを取得し、デバイスのプロキシ アドレスに入力します(この方法を使用するには、同じ Wi-Fi ネットワークに接続している必要があります)。ポートは、Charles プロキシが実行されているポートを使用してください。
モバイルアプリで SSL プロキシを有効にする
Charles がモバイルアプリの SSL トラフィックをキャプチャするには、ユーザー提供の SSL 証明書が信頼できるものであることを宣言する必要があります。
まず、res/xml/network_security_config.xml
パスに、ネットワーク セキュリティ構成の新しい XML リソース ファイルを追加します。
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
次に、このネットワーク セキュリティ構成を使用するように AndroidManifest.xml
ファイルを更新します。
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application ...
android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
これで、モバイルアプリを起動すると、Charles のログで広告リクエストを確認できるようになります。
ご不明な点がある場合、またはマンツーマンのご相談をご希望の場合は、担当の Google テクニカル アカウント マネージャーにご連絡のうえ、Google 広告デベロッパー リレーションズ チームへの相談時間を予約してください。