No Android N ou versões mais recentes, as chamadas de anúncio só ficam visíveis no proxy Charles quando as etapas a seguir são realizadas:
- Atualize o Google Play Services no dispositivo móvel.
- Ative o rastreamento de rede no dispositivo móvel.
- Instale o certificado SSL do Charles no dispositivo e configure o proxy.
- Ative o proxy SSL para seu app para dispositivos móveis.
Atualizar o Google Play Services no dispositivo móvel
Para um emulador, se a seção do Google Play não aparecer no menu lateral, talvez seja necessário atualizar o Android Studio e baixar as imagens de sistema mais recentes na Configuração do dispositivo virtual. Use uma imagem do sistema com o Google Play na meta.
Use o menu lateral para verificar e atualizar o Google Play Services para a versão mais recente. A versão mínima funcional do Google Play Services é
14.5.74
.
Em um dispositivo móvel físico (smartphone ou tablet), pesquise "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, é necessário ativar as opções de desenvolvedor no seu dispositivo. Abra o app Configurações do Google e selecione Google > Anúncios > Ativar registro de depuração para anúncios. Um guia mais detalhado está disponível para editores da AdMob e do Google Ad Manager.
Instalar o certificado SSL do Charles no dispositivo e configurar o proxy
Para usar o Charles como proxy do seu app para dispositivos móveis, faça o download e instale o Charles em um computador. Siga as instruções do Charles para instalar um certificado SSL no emulador Android ou dispositivo móvel.
É mais simples usar o emulador com um
proxy porque o
emulador já está conectado à mesma rede Wi-Fi que o computador
executando o Charles. Ao usar o emulador com um proxy, defina o proxy como
localhost (http://127.0.0.1
) e a porta em que o proxy Charles está sendo executado
(encontrada na opção de menu do Charles Proxy > Proxy Settings).
Se você estiver usando um dispositivo móvel físico (smartphone ou tablet), conecte-o à mesma rede Wi-Fi do computador que executa o Charles usando as configurações avançadas de rede. Ao configurar as opções de proxy para seu dispositivo físico, use a opção de menu do Charles Ajuda > Endereço IP local para receber o endereço IP do seu computador e inserir o endereço de proxy no dispositivo. Para isso funcionar, você precisa estar na mesma rede Wi-Fi. Use a porta em que o proxy Charles está sendo executado.
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, é necessário declarar que o app pode confiar em um certificado SSL fornecido pelo usuário.
Primeiro, adicione um novo arquivo de recurso XML para a Configuração de segurança de rede em
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- 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úncios no registro do Charles.