Seguimiento de red

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

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

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

Habilita el seguimiento

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

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

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

Presiona Aceptar y, luego, se te mostrará un identificador de publicidad que finaliza con 10ca1ad1abe1:

Ahora puedes ver todo el resultado del registro de red en logcat. Para filtrar solo la salida de Google Ads a nivel de la información en la pantalla y en un archivo, emite el siguiente comando:

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

Salida

Se usan registros de consola estándar 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, por lo que puedes buscar o filtrar en estas cadenas. Para cada registro de red, el primer mensaje de registro es GMA Debug BEGIN, el último 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 salida 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 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
  }
}