Rastreo de red

El rastreo de red sirve para ver las actividades de red relacionadas con el SDK de anuncios de Google para móviles. Esto puede resultar útil para depurar una implementación de dicho servicio.

Un buen motivo para usar el rastreo de red en vez de herramientas como Charles Proxy es que funciona en todas las versiones de Android y en cualquier dispositivo con una versión compatible de los Servicios de Google Play. Con las herramientas de proxy no ocurre lo mismo, debido a los cambios en las CA y los certificados de confianza vigentes a partir de Android 7.0.

En esta guía se explica cómo habilitar el rastreo de red con fines de depuración.

Habilitar el rastreo

Para habilitar el rastreo de red, activa las opciones para desarrolladores en tu dispositivo. A continuación, inicia la aplicación Ajustes de Google y selecciona la opción Anuncios:

Si has habilitado las opciones para desarrolladores y la función está disponible, esto es lo que aparecerá en tu pantalla:

Selecciona la opción Habilitar registro depuración (anuncios) y, a continuación, se mostrará el siguiente cuadro de diálogo:

Toca Aceptar y se mostrará un identificador de publicidad terminado en 10ca1ad1abe1:

A partir de este momento, podrás ver todos los resultados de salida del registro de red en logcat.

El siguiente comando de logcat te permite visualizar únicamente las salidas del registro y guardarlas en un archivo de registro:

adb logcat *:S Ads:I | grep "GMA Debug" | tee logs.txt

De este modo, se registrará la salida al terminal y el registro se guardará en un archivo logs.txt.

Salida

Para la salida de los registros de red se emplean registros de consola estándar para cada plataforma.

Los mensajes de registro de consola siempre empiezan por las cadenas GMA Debug BEGIN, GMA Debug CONTENT o GMA Debug FINISH, de modo que se puedan buscar o filtrar fácilmente. En cada registro de red, el primer mensaje es GMA Debug BEGIN, el último es GMA Debug FINISH y el contenido del registro de red empieza por GMA Debug CONTENT. Si el contenido de un registro de red es demasiado largo como para que quepa en una sola línea, se divide entre varias, cada una de las cuales empieza por GMA Debug CONTENT.

Ejemplo de salida de consola

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

Ejemplo de salida JSON

A continuación, te mostramos algunos ejemplos de salidas 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
  }
}

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.