Configurar o proxy Charles

No Android N ou versões mais recentes, as chamadas de anúncio só ficam visíveis no proxy Charles quando as seguintes etapas são realizadas:

  1. Atualize o Google Play Services no dispositivo móvel.
  2. Ative o rastreamento de rede no dispositivo móvel.
  3. Instale o certificado SSL do Charles no seu dispositivo e configure o proxy.
  4. Ative o proxy SSL no seu app para dispositivos móveis.

Atualizar o Google Play Services no dispositivo móvel

Para um emulador, se você não encontrar a seção do Google Play no menu lateral, talvez seja necessário atualizar o Android Studio. Baixe as imagens do sistema mais recentes em Configurador do dispositivo virtual e use uma imagem do sistema com o Google Play no destino.

Use o menu lateral para verificar e atualizar o Google Play Services para a versão mais recente.

Para um dispositivo móvel físico (smartphone ou tablet), pesquise o Google Play ou siga este link para abrir o Google Play diretamente.

Ativar o rastreamento de rede no dispositivo móvel

Para ativar o rastreamento de rede, ative as opções do desenvolvedor no seu dispositivo. Veja mais detalhes em Configurar opções do desenvolvedor no dispositivo.

Abra o app Configurações do Google e selecione Google > Anúncios > Ativar registro de depuração para anúncios. Para mais detalhes, consulte Rastreamento de rede.

Instalar o certificado SSL do Charles no dispositivo e configurar o proxy

Para usar o Charles como proxy para seu app, faça o download e instale o Charles no seu computador.

Para salvar o certificado como um arquivo .pem ou .cer, selecione Help > SSL Proxying > Save Charles Root Certificate. Para instalar o certificado no dispositivo, siga as instruções em Help > SSL Proxying.

Se você usa um Android Emulator com um proxy, defina o endereço do proxy como http://127.0.0.1. Defina a porta como o valor mostrado no Charles em Proxy > Configurações de proxy.

Se você usa um dispositivo físico, conecte-o à mesma rede Wi-Fi do computador. Para configurar o proxy, abra as configurações de rede avançadas do dispositivo. Para mais detalhes, consulte Conectar-se a redes Wi-Fi no smartphone Pixel. No Charles, selecione Help > Local IP Address para encontrar seu endereço IP. No seu dispositivo, insira o endereço IP e a porta do Charles como o proxy.

Ativar o proxy SSL para seu app para dispositivos móveis

Para que o Charles intercepte o tráfego SSL do seu app para dispositivos móveis, declare que o app pode confiar em um certificado SSL. Você pode confiar em um certificado instalado pelo usuário ou incorporar o certificado do Charles como um recurso bruto no app. Por exemplo, é possível salvar o certificado no arquivo res/raw/charles_cert.pem.

Primeiro, adicione um novo arquivo de recurso XML para a Configuração de segurança de rede no arquivo 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>

Em seguida, atualize o arquivo AndroidManifest.xml para usar a configuração de segurança de rede.

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

Depois disso, inicie o app para dispositivos móveis e procure solicitações de anúncio no registro do Charles.