Traçage du réseau

Le traçage réseau vous permet d'afficher les activités réseau liées au SDK Google Mobile Ads. Cela peut être utile pour déboguer la mise en œuvre de vos annonces Google pour mobile.

L'une des principales raisons d'utiliser le traçage réseau plutôt que des outils tels que le proxy Charles est qu'il fonctionne avec toutes les versions d'Android et les appareils exécutant une version compatible des services Google Play. Ce n'est pas le cas avec les outils de proxy en raison des modifications apportées aux autorités de certification et aux certificats approuvés depuis Android 7.0.

Ce guide explique comment activer le traçage réseau à des fins de débogage.

Activer le traçage

Pour activer le traçage réseau, activez les options pour les développeurs sur votre appareil. Ensuite, lancez l'application Paramètres Google et sélectionnez l'option Annonces:

En supposant que vous ayez activé les options pour les développeurs et que la fonctionnalité soit disponible, votre écran ressemblerait à ceci:

Sélectionnez l'option Activer la journalisation de débogage pour les annonces afin d'afficher la boîte de dialogue suivante:

Appuyez sur OK. Un identifiant publicitaire se terminant par 10ca1ad1abe1 s'affiche:

Vous pouvez maintenant voir toute la sortie de la journalisation réseau dans logcat. Pour filtrer uniquement la sortie des annonces au niveau des informations pour l'écran et un fichier, exécutez la commande suivante:

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

Résultat

Les journaux réseau sont générés à partir de journaux standards de la console adaptés à la plate-forme.

Les messages de journal de la console commencent toujours par la chaîne GMA Debug BEGIN, GMA Debug CONTENT ou GMA Debug FINISH. Vous pouvez donc rechercher ou filtrer ces chaînes. Pour chaque journal réseau, le premier message de journal est GMA Debug BEGIN, le dernier message de journal est GMA Debug FINISH et le contenu du journal réseau commence par GMA Debug CONTENT. Si le contenu est trop long pour tenir sur une ligne, il est divisé en plusieurs lignes, chacune commençant par GMA Debug CONTENT.

Exemple de sortie sur la console

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

Exemple de sortie JSON

Voici quelques exemples de sortie 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
  }
}