Traçage de réseau

Sélectionnez une plate-forme : Android iOS

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 de 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 de Google Play Services. 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 de confiance depuis Android 7.0.

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

Activer le traçage

Pour activer le traçage de 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 se présente comme suit :

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 toutes les sorties de la journalisation réseau dans logcat. Pour filtrer uniquement les sorties d'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

Les journaux de la 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 du journal est GMA Debug BEGIN, le dernier 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é sur plusieurs lignes, chacune commençant par GMA Debug CONTENT.

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