Seguimiento de redes

El seguimiento de red te permite ver las actividades de red relacionadas con el SDK de anuncios de Google para dispositivos móviles. Esto puede ser útil para depurar tu implementación de anuncios de Google para dispositivos móviles.

Un motivo clave para usar el seguimiento de red en lugar de herramientas como el proxy de Charles es que funciona con todas las versiones de Android y los dispositivos que ejecutan una versión compatible de los Servicios de Google Play. Este no es el caso de las herramientas de proxy debido a los cambios en las AC y los certificados de confianza implementados desde Android 7.0.

En esta guía, se explica cómo habilitar el seguimiento de red para fines de depuración.

Habilita el seguimiento

Si quieres habilitar el seguimiento de red, habilita las opciones para desarrolladores en tu dispositivo. Luego, inicia la aplicación Configuración de Google y selecciona la opción Anuncios:

Si suponemos que tienes habilitadas las opciones para desarrolladores y la función está disponible, tu pantalla se verá de la siguiente manera:

Selecciona la opción Habilitar el registro de depuración para anuncios para que aparezca el siguiente cuadro de diálogo:

Presiona Aceptar y aparecerá un identificador de publicidad que termina con 10ca1ad1abe1:

Ahora puedes ver todos los resultados del registro de red en logcat. Para filtrar solo los resultados de los anuncios a nivel de la información en la pantalla y en un archivo, ejecuta el siguiente comando:

adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txt

Salida

Se usan los registros estándar de la consola adecuados para la plataforma para generar los registros de red.

Los mensajes de registro de la consola siempre comienzan con la cadena GMA Debug BEGIN, GMA Debug CONTENT o GMA Debug FINISH, de modo que puedas buscar o filtrar estas cadenas. Para cada registro de red, el primer mensaje de registro es GMA Debug BEGIN, el último mensaje de registro es GMA Debug FINISH y el contenido del registro de red comienza con GMA Debug CONTENT. Si el contenido es demasiado largo para caber en una línea, se divide en varias líneas, cada una de las cuales comienza con GMA Debug CONTENT.

Ejemplo de resultado de la consola

I/Ads     ( 4660): GMA Debug BEGIN
I/Ads     ( 4660): GMA Debug CONTENT {"timestamp":1510679993741,...}
I/Ads     ( 4660): GMA Debug FINISH

Ejemplo de salida de JSON

Estos son algunos ejemplos de resultados de JSON de logcat:

onNetworkRequest

{
  "timestamp": 1510679994904,
  "event": "onNetworkRequest",
  "components": [
    "ad_request_cf5ab185-3c3f-4f01-9f56-33da2ae110f2",
    "network_request_6553bc32-1d44-4f18-9dd0-5c183abbeb90"
  ],
  "params": {
    "firstline": {
      "uri": "http://googleads.g.doubleclick.net/pagead/ads?carrier=....",
      "verb": "GET"
    },
    "headers": [
      {
        "name": "User-Agent",
        "value": "Mozilla/5.0 (Linux; Android 5.0.2;..."
      }
    ]
  }
}

onNetworkResponse

{
  "timestamp": 1510679995295,
  "event": "onNetworkResponse",
  "components": [
    "ad_request_cf5ab185-3c3f-4f01-9f56-33da2ae110f2",
    "network_request_6553bc32-1d44-4f18-9dd0-5c183abbeb90"
  ],
  "params": {
    "firstline": {
      "code": 200
    },
    "headers": [
      {
        "name": null,
        "value": "HTTP/1.1 200 OK"
      },
      {
        "name": "X-Google-DOS-Service-Trace",
        "value": "main:pagead"
      },
      {
        "name": "Content-Type",
        "value": "text/html; charset=UTF-8"
      },
      ...
    ]
  }
}

onNetworkResponseBody

{
  "timestamp": 1510679995375,
  "event": "onNetworkResponseBody",
  "components": [
    "ad_request_cf5ab185-3c3f-4f01-9f56-33da2ae110f2",
    "network_request_6553bc32-1d44-4f18-9dd0-5c183abbeb90"
  ],
  "params": {
    "bodydigest": "B2520049D02F3C70A12AD1BC0D1B58A4",
    "bodylength": 122395
  }
}