在 Android N 以上版本中,為 Google Mobile Ads SDK (Beta 版) 設定 Charles Proxy

在 Android N 以上版本中,只有執行下列步驟時,Charles Proxy 才會顯示廣告呼叫:

  1. 在裝置上安裝 Charles SSL 憑證,並設定 Proxy。
  2. 為行動應用程式啟用 SSL Proxy。

在裝置上安裝 Charles SSL 憑證,並設定 Proxy

如要將 Charles 設為行動應用程式的 Proxy,請先在電腦上安裝 Charles。按照 Charles 的說明,在 Android 模擬器或行動裝置上安裝 SSL 憑證。

透過 Proxy 使用模擬器較為簡單,因為模擬器已連上與執行 Charles 的電腦相同的 Wi-Fi 網路。搭配 Proxy 使用模擬器時,請將 Proxy 設為 localhost (http://127.0.0.1) 和 Charles Proxy 執行的通訊埠 (位於 Charles 選單選項「Proxy」>「Proxy 設定」)。

如果使用實體行動裝置 (手機或平板電腦),請使用進階網路設定,將行動裝置連上與執行 Charles 的電腦相同的 Wi-Fi 網路。設定實體裝置的 Proxy 設定時,請使用 Charles 的「Help」>「Local IP address」選單選項取得電腦的 IP 位址,然後在裝置上輸入 Proxy 位址 (您必須連上相同 Wi-Fi 網路,這項操作才能正常運作)。使用 Charles Proxy 執行的通訊埠。

為行動應用程式啟用 SSL Proxy

如要讓 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 記錄中尋找廣告請求。