Netzwerk-Tracing

Mit der Funktion „Netzwerk-Tracing“ können Sie Netzwerkaktivitäten in Verbindung mit dem Google Mobile Ads SDK einsehen. Das kann beim Beheben von Problemen mit der Implementierung von Google Mobile Ads hilfreich sein.

Netzwerk-Tracing hat den Vorteil, dass es – im Gegensatz zu Tools wie Charles Proxy – mit allen Android-Versionen und Geräten funktioniert, auf denen eine unterstützte Version der Google Play-Dienste ausgeführt wird. Bei Proxy-Tools ist das aufgrund von Änderungen an vertrauenswürdigen Zertifizierungsstellen und Zertifikaten seit Android 7.0 nicht der Fall.

In diesem Leitfaden wird beschrieben, wie Sie das Netzwerk-Tracing zu Debug-Zwecken aktivieren.

Tracing aktivieren

Wenn Sie die Netzwerkverfolgung aktivieren möchten, aktivieren Sie die Entwickleroptionen für Ihr Gerät. Öffnen Sie dann die Google Einstellungen und wählen Sie die Option Werbung aus:

Wenn Sie die Entwickleroptionen aktiviert haben und die Funktion verfügbar ist, sieht Ihr Bildschirm so aus:

Wählen Sie die Option Debuggingprotokollierung für Werbung aktivieren aus, um das folgende Dialogfeld aufzurufen:

Tippen Sie auf OK. Daraufhin wird eine Werbe-ID angezeigt, die auf 10ca1ad1abe1 endet:

Sie können jetzt die gesamte Ausgabe der Netzwerkprotokollierung in logcat sehen. Wenn Sie nur die Google Ads-Ausgabe auf Informationsebene sowohl auf dem Bildschirm als auch in einer Datei filtern möchten, geben Sie den folgenden Befehl ein:

adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txt

Ausgabe

Für die Ausgabe der Netzwerkprotokolle werden standardmäßige, plattformspezifische Konsolenprotokolle verwendet.

Konsolenprotokollmeldungen beginnen immer mit dem String GMA Debug BEGIN, GMA Debug CONTENT oder GMA Debug FINISH. Sie können also nach diesen Strings suchen oder filtern. Die erste Protokollnachricht jedes Netzwerkprotokolls ist GMA Debug BEGIN, die letzte Protokollnachricht ist GMA Debug FINISH und der Inhalt des Netzwerkprotokolls beginnt mit GMA Debug CONTENT. Wenn der Inhalt zu lang ist, um auf eine Zeile zu passen, wird er auf mehrere Zeilen aufgeteilt, wobei jede Zeile mit GMA Debug CONTENT beginnt.

Beispiel für die Konsolenausgabe

I/Ads     ( 4660): GMA Debug BEGIN
I/Ads     ( 4660): GMA Debug CONTENT {"timestamp":1510679993741,...}
I/Ads     ( 4660): GMA Debug FINISH

Beispiel für JSON-Ausgabe

Hier einige Beispiele für die JSON-Ausgabe von 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
  }
}