La traccia di rete ti consente di visualizzare le attività di rete relative a SDK Google Mobile Ads. Questo può essere utile per il debug dell'implementazione di Google Mobile Ads.
Uno dei motivi principali per utilizzare la traccia di rete al posto di strumenti come Charles Proxy è che funziona con tutte le versioni di Android e con i dispositivi su cui è installata una versione supportata di Google Play Services. Questo non accade con gli strumenti di proxy a causa delle modifiche apportate alle CA e ai certificati attendibili in vigore da Android 7.0.
Questa guida spiega come attivare il monitoraggio della rete a fini di debug.
Enable tracing
Per attivare il monitoraggio della rete, abilita le opzioni sviluppatore per il tuo dispositivo. Quindi, avvia l'app Impostazioni Google e seleziona l'opzione Annunci:
Se hai attivato le opzioni sviluppatore e la funzionalità è disponibile, la schermata avrà il seguente aspetto:
Seleziona l'opzione Attiva il logging di debug per gli annunci per visualizzare la seguente finestra di dialogo:
Tocca Ok e visualizzerai un identificatore pubblicità che termina con 10ca1ad1abe1
:
Ora puoi vedere tutto l'output del logging di rete in logcat. Per filtrare solo l'output di Google Ads a livello di informazioni sia sullo schermo sia in un file, esegui il seguente comando:
adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txt
Output
Per l'output dei log di rete vengono utilizzati i log della console standard appropriati per la piattaforma.
I messaggi del log della console iniziano sempre con la stringa GMA Debug BEGIN
,
GMA Debug CONTENT
o GMA Debug FINISH
, quindi puoi eseguire ricerche o filtrare in base a queste
stringhe. Per ogni log di rete, il primo messaggio del log è GMA Debug BEGIN
,
l'ultimo messaggio del log è GMA Debug FINISH
e i contenuti del log di rete iniziano
con GMA Debug CONTENT
. Se i contenuti sono troppo lunghi per una riga, vengono suddivisi su più righe, ciascuna delle quali inizia con GMA Debug CONTENT
.
Esempio di output della console
I/Ads ( 4660): GMA Debug BEGIN
I/Ads ( 4660): GMA Debug CONTENT {"timestamp":1510679993741,...}
I/Ads ( 4660): GMA Debug FINISH
Esempio di output JSON
Ecco alcuni esempi di output JSON di 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
}
}