Traccia di rete

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

Un motivo fondamentale per utilizzare il tracciamento della rete al posto di strumenti come Charles Il proxy è che funziona con tutte le versioni Android e dispositivi con una versione supportata di Google Play Services. Questo non è il caso degli strumenti di proxy a causa di modifiche CA e certificati attendibili disponibili sin da Android 7.0.

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

Enable tracing

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

Se hai attivato le opzioni sviluppatore e la funzione è disponibile, il tuo 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 verrà visualizzato un identificatore pubblicità che termina. con 10ca1ad1abe1:

Ora puoi visualizzare in logcat tutto l'output dei log di rete. A filtra solo l'output degli annunci a livello di informazione sia sullo schermo sia su un file, problema 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 standard della console appropriati alla piattaforma.

I messaggi di log della console iniziano sempre con la stringa GMA Debug BEGIN, GMA Debug CONTENT, o GMA Debug FINISH, in modo da poter eseguire ricerche o filtrare in base a questi stringhe. Per ogni log di rete, il primo messaggio di log è GMA Debug BEGIN, l'ultimo messaggio di log è GMA Debug FINISH e inizia il contenuto del log di rete 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 da 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
  }
}