Configura el proxy de Charles

En Android N o versiones posteriores, las llamadas de anuncios solo se pueden ver en el proxy de Charles cuando se realizan los siguientes pasos:

  1. Actualiza los Servicios de Google Play en el dispositivo móvil.
  2. Habilita el seguimiento de red en el dispositivo móvil.
  3. Instala el certificado SSL de Charles en tu dispositivo y configura el proxy.
  4. Habilita el proxy SSL para tu app para dispositivos móviles.

Actualiza los Servicios de Google Play en el dispositivo móvil

En el caso de un emulador, si no ves la sección de Google Play en el menú lateral, es posible que debas actualizar Android Studio. Descarga las imágenes del sistema más recientes en Configuración del dispositivo virtual y usa una imagen del sistema con Google Play en su destino.

Usa el menú lateral para verificar y actualizar los Servicios de Google Play a la versión más reciente.

En el caso de un dispositivo móvil físico (teléfono o tablet), puedes buscar Google Play o seguir este vínculo para abrir Google Play directamente.

Habilita el seguimiento de red en el dispositivo móvil

Para activar el seguimiento de red, habilita las opciones para desarrolladores en tu dispositivo. Para obtener más información, consulta Cómo configurar las opciones para desarrolladores integradas en el dispositivo.

Abre la app de Configuración de Google y selecciona Google > Anuncios > Habilitar el registro de depuración para anuncios. Para obtener más detalles, consulta Seguimiento de red.

Instala el certificado SSL de Charles en tu dispositivo y configura el proxy

Para usar Charles como proxy de tu app, descarga e instala Charles en tu computadora.

Para guardar el certificado como un archivo .pem o .cer, selecciona Help > SSL Proxying > Save Charles Root Certificate. Para instalar el certificado en tu dispositivo, sigue las indicaciones en Help > SSL Proxying.

Si usas un emulador de Android con un proxy, establece la dirección del proxy en http://127.0.0.1. Establece el puerto en el valor que se muestra en Charles en Proxy > Configuración del proxy.

Si usas un dispositivo físico, conéctalo a la misma red Wi-Fi que tu computadora. Para configurar el proxy, abre la configuración de red avanzada del dispositivo. Para obtener más información, consulta Cómo conectarte a redes Wi-Fi en un teléfono Pixel. En Charles, selecciona Help > Local IP Address para encontrar tu dirección IP. En tu dispositivo, ingresa la dirección IP de Charles y el puerto de Charles como el proxy.

Habilita el proxy SSL para tu app para dispositivos móviles

Para que Charles intercepte el tráfico SSL de tu app para dispositivos móviles, declara que tu app puede confiar en un certificado SSL. Puedes confiar en un certificado instalado por el usuario o incorporar el certificado de Charles como un recurso sin procesar en tu app. Por ejemplo, puedes guardar el certificado en tu archivo res/raw/charles_cert.pem.

Primero, agrega un nuevo archivo de recursos XML para la configuración de seguridad de red en tu archivo 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>

A continuación, actualiza el archivo AndroidManifest.xml para usar la configuración de seguridad de red.

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

Después de eso, puedes iniciar la app para dispositivos móviles y buscar solicitudes de anuncios en el registro de Charles.