Konfigurowanie serwera proxy Charles na potrzeby pakietu SDK do reklam mobilnych Google (beta) na Androidzie N lub nowszym

Na Androidzie N lub nowszym wywołania reklam są widoczne w Charles Proxy tylko wtedy, gdy wykonasz te czynności:

  1. Zainstaluj na urządzeniu certyfikat SSL Charles i skonfiguruj serwer proxy.
  2. Włącz serwer proxy SSL w aplikacji mobilnej.

Zainstaluj certyfikat SSL Charles na urządzeniu i skonfiguruj serwer proxy

Aby używać Charlesa jako serwera proxy dla aplikacji mobilnej, musisz pobrać i zainstalować Charlesa na komputerze. Postępuj zgodnie z instrukcjami narzędzia Charles, aby zainstalować certyfikat SSL na emulatorze Androida lub urządzeniu mobilnym.

Łatwiej jest używać emulatora z serwerem proxy, ponieważ emulator jest już połączony z tą samą siecią Wi-Fi co komputer, na którym działa Charles. Jeśli używasz emulatora z serwerem proxy, ustaw serwer proxy na localhost (http://127.0.0.1) i port, na którym działa serwer proxy Charles (znajdziesz go w opcji menu Charles Proxy > Proxy Settings).

Jeśli używasz fizycznego urządzenia mobilnego (telefonu lub tabletu), musisz połączyć je z tą samą siecią Wi-Fi co komputer z programem Charles, korzystając z zaawansowanych ustawień sieci. Podczas konfigurowania ustawień serwera proxy na urządzeniu fizycznym użyj opcji menu Charlesa Help > Local IP address (Pomoc > Lokalny adres IP), aby uzyskać adres IP komputera, który należy wpisać jako adres serwera proxy na urządzeniu (aby to zadziałało, musisz być w tej samej sieci Wi-Fi). Użyj portu, na którym działa serwer proxy Charles.

Włączanie serwera proxy SSL w aplikacji mobilnej

Aby narzędzie Charles mogło przechwytywać ruch SSL aplikacji mobilnej, musisz zadeklarować, że aplikacja może ufać certyfikatowi SSL dostarczonemu przez użytkownika.

Najpierw musisz dodać nowy plik zasobu XML dla konfiguracji zabezpieczeń sieci w

<network-security-config>
   <debug-overrides>
       <trust-anchors>
           <!-- Trust user added CAs while debuggable only -->
           <certificates src="user" />
       </trust-anchors>
   </debug-overrides>
</network-security-config>

Następnie zaktualizuj plik AndroidManifest.xml, aby używać konfiguracji zabezpieczeń sieci.

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application ...
                 android:networkSecurityConfig="@xml/network_security_config"
                 ... >
        ...
    </application>
</manifest>

Następnie możesz uruchomić aplikację mobilną i wyszukać żądania reklamy w dzienniku Charlesa.