Traçage réseau

Le traçage de réseau vous permet de consulter les activités réseau liées au SDK Google Mobile Ads. Cela peut être utile pour déboguer votre implémentation Google Mobile Ads.

L'une des principales raisons d'utiliser le traçage de réseau, à la place d'outils tels que Charles Proxy, 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 des outils de proxy en raison des modifications apportées aux certificats et autorités de certification de confiance 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. Lancez ensuite l'application Paramètres Google et sélectionnez l'option Annonces :

Si les options pour les développeurs sont activées et que la fonctionnalité est disponible, votre écran devrait ressembler à ceci :

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

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

Vous pouvez désormais voir tous les résultats de la journalisation réseau dans logcat. Pour filtrer uniquement les résultats des annonces de niveau "Information" à la fois sur l'écran et dans un fichier, exécutez la commande suivante :

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

Sortie

Des journaux de console standards adaptés à la plate-forme sont utilisés pour générer les journaux réseau.

Les messages du journal de la console commencent toujours par la chaîne GMA Debug BEGIN, GMA Debug CONTENT ou GMA Debug FINISH. Vous pouvez donc effectuer une recherche ou un filtrage sur 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 réparti sur plusieurs lignes, chacune commençant par GMA Debug CONTENT.

Exemple de sortie de 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 à partir 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
  }
}