Netzwerk-Tracing

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

Netzwerk-Tracing hat den Vorteil, dass es – im Gegensatz zu Tools wie Charles Proxy – auf allen Android-Versionen und Geräten mit einer unterstützten Version von Google Play-Diensten funktioniert. Bei Proxying-Tools ist das aufgrund von Änderungen an vertrauenswürdigen CAs und Zertifikaten seit Android 7.0 nicht der Fall.

In diesem Leitfaden wird beschrieben, wie Sie die Netzwerkverfolgung zu Debugging-Zwecken aktivieren.

Tracing aktivieren

Um die Netzwerkverfolgung zu aktivieren, 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 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 mit 10ca1ad1abe1 endet:

Sie können jetzt die gesamte Ausgabe des Netzwerk-Loggings in Logcat sehen. Wenn Sie nur die Ausgabe von Anzeigen auf Informationsebene auf dem Bildschirm und 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. Im Netzwerkprotokoll ist die erste Protokollnachricht GMA Debug BEGIN, die letzte Protokollnachricht GMA Debug FINISH und der Inhalt des Netzwerkprotokolls beginnt mit GMA Debug CONTENT. Wenn der Inhalt zu lang ist, um in eine Zeile zu passen, wird er auf mehrere Zeilen aufgeteilt. Jede Zeile beginnt mit GMA Debug CONTENT.

Beispiel für 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 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
  }
}