Traçage du réseau

Le traçage réseau vous permet de voir les activités réseau en rapport avec le service SDK Ads. Cela peut être utile pour déboguer la mise en œuvre de vos annonces Google pour mobile.

Il est essentiel d'utiliser le traçage réseau plutôt que des outils tels que Charles proxy est qu'il fonctionne avec toutes les versions Android et appareils exécutant une version compatible des services Google Play Ce n'est pas le cas avec les outils de proxy en raison des changements dans des autorités de certification et des certificats de confiance mis en place 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, autorisez les développeurs options adaptées à votre appareil. Lancez ensuite l'application Paramètres Google, puis sélectionnez l'option Annonces:

Si vous avez activé les options pour les développeurs et que la fonctionnalité est disponible, l'écran ressemblerait alors à ceci:

Sélectionnez l'option Enable debug logging for ads (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 avec 10ca1ad1abe1:

Vous pouvez maintenant voir toute la sortie de la journalisation réseau dans logcat. À filtrer uniquement la sortie des annonces de niveau information à la fois à l'écran et dans un fichier, la commande suivante:

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

Sortie

Les journaux standards de la console adaptés à la plate-forme permettent de générer les journaux réseau.

Les messages de journal de la console commencent toujours par la chaîne GMA Debug BEGIN, GMA Debug CONTENT ou GMA Debug FINISH, pour que vous puissiez les rechercher ou les filtrer de 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 avec GMA Debug CONTENT. Si le contenu est trop long pour tenir sur une ligne, il est divisé entre plusieurs lignes, chaque ligne commençant par GMA Debug CONTENT.

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