Cómo configurar el proxy de Charles para el SDK de anuncios de Google para dispositivos móviles en Android N o versiones posteriores

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

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

Actualización de los Servicios de Google Play en el dispositivo móvil

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

Usa el menú lateral para consultar y actualizar los Servicios de Google Play a la versión más reciente. La versión mínima de los Servicios de Google Play es 14.5.74.

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

Cómo habilitar el registro de red en el dispositivo móvil

Si deseas habilitar el seguimiento de red, deberás habilitar las opciones para desarrolladores para tu dispositivo. Inicia la app de Configuración de Google y selecciona Google & Ads; habilitar el registro de depuración para anuncios. Hay una guía más detallada disponible para los publicadores de AdMob y Google Ad Manager.

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

Para usar Charles como un proxy en tu app para dispositivos móviles, deberás descargar e instalar Charles en una computadora. Sigue las instrucciones de Charles para instalar un certificado SSL en el emulador de Android o en un dispositivo móvil.

Es más sencillo usar el emulador con un proxy porque ya está conectado a la misma red Wi-Fi con la computadora que ejecuta Charles. Cuando uses el emulador con un proxy, configura el proxy en localhost (http://127.0.0.1) y el puerto en el que se ejecuta el proxy de Charles (se encuentra en la opción del menú de Charles Proxy > Proxy Settings).

Si usas un dispositivo móvil físico (teléfono o tablet), deberás conectar el dispositivo móvil a la misma red Wi-Fi con la computadora que ejecuta Charles mediante la configuración de red avanzada. Cuando establezcas la configuración de proxy para tu dispositivo físico, utiliza la opción del menú Charles Help > Local IP address para obtener la dirección IP de tu computadora y, luego, ingresa la dirección de proxy en tu dispositivo (debes estar en la misma red Wi-Fi para que esto funcione). Usa el puerto en el que se ejecuta el proxy de Charles.

Cómo habilitar el proxy SSL en tu app para dispositivos móviles

Para que Charles intercepte el tráfico SSL de tu app para dispositivos móviles, debes declarar que tu app puede confiar en un certificado SSL proporcionado por el usuario.

Primero, deberás agregar un archivo nuevo de recursos XML para la configuración de seguridad de la red en la ruta res/xml/network_security_config.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>

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>

Luego, puede iniciar la aplicación para dispositivos móviles y buscar solicitudes de anuncios en el registro de Charles.

Si aún tienes preguntas o necesitas una consulta individual, comunícate con tu administrador técnico de cuentas de Google para registrarte en el horario de atención de nuestro equipo de Relaciones con Desarrolladores de Google Ads.