Netzwerk-Tracing

Mit dem Netzwerk-Tracing können Sie Netzwerkaktivitäten in Verbindung mit dem Google Mobile Ads SDK sehen. Das kann bei der Fehlerbehebung für Ihre Google Mobile Anzeigen-Implementierung hilfreich sein.

Ein wichtiger Grund für die Verwendung von Netzwerk-Tracing anstelle von Tools wie Charles Proxy ist, dass es 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 dies aufgrund von Änderungen an vertrauenswürdigen Zertifizierungsstellen und Zertifikaten seit Android 7.0 nicht der Fall.

In dieser Anleitung wird erläutert, wie Sie das Netzwerk-Tracing zu Debuggingzwecken aktivieren.

Tracing aktivieren

Wenn Sie das Netzwerk-Tracing nutzen möchten, aktivieren Sie die Entwickleroptionen für Ihr Gerät. Starten Sie dann die App Google Einstellungen und wählen Sie die Option Werbung aus:

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

Wählen Sie die Option Debug-Logging für Anzeigen aktivieren aus, um das folgende Dialogfeld zu öffnen:

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

Sie können jetzt die gesamte Ausgabe des Netzwerk-Loggings in Logcat sehen. Führen Sie den folgenden Befehl aus, um nur die Anzeigenausgabe auf Informationsebene sowohl für den Bildschirm als auch für eine Datei zu filtern:

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

Ausgabe

Für die Ausgabe der Netzwerkprotokolle werden plattformgerechte Konsolenprotokolle verwendet.

Konsolen-Logmeldungen beginnen immer mit dem String GMA Debug BEGIN, GMA Debug CONTENT oder GMA Debug FINISH, sodass Sie diese Strings suchen oder filtern können. Für jedes Netzwerklog ist die erste Lognachricht GMA Debug BEGIN, die letzte Nachricht GMA Debug FINISH und der Inhalt des Netzwerklogs beginnt mit GMA Debug CONTENT. Wenn der Inhalt zu lang für eine Zeile ist, wird er in mehrere Zeilen aufgeteilt, die jeweils mit GMA Debug CONTENT beginnen.

Beispiel für eine Konsolenausgabe

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

Beispiel für eine JSON-Ausgabe

Hier sind 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
  }
}