Android N 以降で Google Mobile Ads SDK 用に Charles プロキシを設定する

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

Android N 以降では、次の手順を実行した場合にのみ、Charles プロキシで広告呼び出しを確認できます。

  1. デバイスに Charles SSL 証明書をインストールし、プロキシを設定します。
  2. モバイルアプリの SSL プロキシを有効にします。

デバイスに Charles SSL 証明書をインストールし、プロキシを設定する

モバイルアプリのプロキシとして Charles を使用するには、パソコンに 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 証明書を信頼できることを宣言する必要があります。

まず、ネットワーク セキュリティ構成用の新しい 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 ログで広告リクエストを探します。