Le traçage réseau vous permet de voir 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 réseau, à la place d'outils tels que Charles Proxy, est qu'il fonctionne avec toutes les versions d'Android et tous 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 certificats de confiance 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, 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 les options pour les développeurs soient activées et que la fonctionnalité soit disponible, votre écran devrait ressembler à ceci :

Sélectionnez l'option Activer la journalisation du 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 maintenant voir toutes les sorties de la journalisation réseau dans logcat. Pour filtrer uniquement les sorties Ads 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.txtSortie
Les journaux de console standards adaptés à la plate-forme sont utilisés pour 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. 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 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 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
}
}