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

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

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

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

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

Charles をアプリのプロキシとして使用するには、パソコンに Charles をダウンロードして インストールします。

証明書を .pem ファイルまたは .cer ファイルとして保存するには、[Help] > [SSL Proxying] > [Save Charles ルート証明書] を選択します。デバイスに証明書をインストールするには、[Help] > [SSL Proxying] の手順に沿って操作します。

プロキシで Android Emulator を使用する場合は、 プロキシ アドレスを http://127.0.0.1 に設定します。ポートは、Charles の [Proxy] > [プロキシ設定] に表示されている値に設定します。

実機を使用する場合は、パソコンと同じ Wi-Fi ネットワークにデバイスを接続します。プロキシを設定するには、デバイスのネットワークの詳細設定を開きます。詳しくは、 Google Pixel を Wi-Fi ネットワークに接続するをご覧ください。 Charles で [Help] > [Local IP Address] を選択して、IP アドレスを確認します。デバイスで、Charles の IP アドレスと Charles のポートをプロキシとして入力します。

モバイルアプリの SSL プロキシを有効にする

Charles がモバイルアプリの SSL トラフィックをインターセプトするには、アプリが SSL 証明書を信頼できることを宣言します。ユーザーがインストールした証明書を信頼することも、Charles 証明書をアプリに未加工リソースとして埋め込むこともできます。たとえば、証明書を res/raw/charles_cert.pem ファイルに保存できます。

まず、 ネットワーク セキュリティ構成 用の新しい XML リソース ファイルを res/xml/network_security_config.xml ファイルに追加します。

<network-security-config>
   <debug-overrides>
       <trust-anchors>
           <!-- Trust Charles SSL certificate stored in res/raw -->
           <certificates src="@raw/charles_cert" />
           <!-- 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 ログで広告リクエストを確認できます。