在 Android N 以上版本中,只有執行下列步驟時,Charles Proxy 才會顯示廣告呼叫:
- 更新行動裝置上的 Google Play 服務。
- 在行動裝置上啟用網路追蹤。
- 在裝置上安裝 Charles SSL 憑證,並設定 Proxy。
- 為行動應用程式啟用 SSL Proxy。
更新行動裝置上的 Google Play 服務
如果是模擬器,側邊選單中沒有顯示 Google Play 專區,可能需要更新 Android Studio,並在虛擬裝置設定中下載最新系統映像檔。請務必在目標中使用含有 Google Play 的系統映像檔。
使用側邊選單檢查 Google Play 服務,並更新至最新版本。Google Play 服務的最低運作版本為 14.5.74
。
如果是實體行動裝置 (手機或平板電腦),你可以搜尋 Google Play,或點選這個連結直接開啟 Google Play。
在行動裝置上啟用網路追蹤
如要啟用網路追蹤,請先啟用裝置的開發人員選項。啟動 Google 設定應用程式,然後依序選取「Google」>「廣告」>「啟用廣告的偵錯記錄」。AdMob 和 Google Ad Manager 發布商都可參閱更詳細的指南。
在裝置上安裝 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 記錄中尋找廣告請求。