Tracciamento della rete

Il tracciamento della rete ti consente di visualizzare le attività di rete relative all'SDK Google Mobile Ads. Questo può essere utile per il debug dell'implementazione di Google Mobile Ads.

Uno dei motivi principali per utilizzare il tracciamento della rete al posto di strumenti come Charles Proxy è che funziona con tutte le versioni di Android e i dispositivi con una versione supportata di Google Play Services. Questo non è il caso degli strumenti di proxying a causa delle modifiche alle CA e ai certificati attendibili in vigore da Android 7.0.

Questa guida spiega come attivare il tracciamento della rete per il debug.

Enable tracing

Per attivare il tracciamento della rete, attiva le opzioni sviluppatore per il tuo dispositivo. Poi, avvia l'app Impostazioni Google e seleziona l'opzione Annunci:

Supponendo che le opzioni sviluppatore siano attive e che la funzionalità sia 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. Viene visualizzato un identificatore pubblicità che termina con 10ca1ad1abe1:

Ora puoi visualizzare tutto l'output del logging di rete in logcat. Per filtrare solo l'output di Ads a livello di informazioni sia sullo schermo che in un file, esegui questo 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 di log della console iniziano sempre con la stringa GMA Debug BEGIN, GMA Debug CONTENT o GMA Debug FINISH, quindi puoi cercare o filtrare in base a queste stringhe. Per ogni log di rete, il primo messaggio di log è GMA Debug BEGIN, l'ultimo messaggio di log è GMA Debug FINISH e il contenuto del log di rete inizia con GMA Debug CONTENT. Se i contenuti sono troppo lunghi per essere inseriti in una riga, vengono suddivisi su più righe, ognuna 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
  }
}