Android N 以降で GMA Next-Gen 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](SSL プロキシ)の手順に沿って操作します。

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

実機を使用する場合は、パソコンと同じ 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 ファイルに保存できます。

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