Netzwerk-Tracing

Plattform auswählen: Android iOS

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 – 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.0nicht der Fall.

In dieser Anleitung wird beschrieben, wie Sie Netzwerk-Tracing für Debuggingzwecke aktivieren.

Tracing aktivieren

Wenn Sie Netzwerk-Tracing aktivieren möchten, aktivieren Sie die Entwickler optionen 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 der 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 der Netzwerkprotokollierung in logcat sehen. Wenn Sie nur die Ads-Ausgabe 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 der Zeichenfolge GMA Debug BEGIN, GMA Debug CONTENT oder GMA Debug FINISH. Sie können also nach diesen Zeichenfolgen suchen oder filtern. Für jedes Netzwerkprotokoll ist die erste Protokollmeldung GMA Debug BEGIN, die letzte Protokollmeldung GMA Debug FINISH, und der Inhalt des Netzwerkprotokolls beginnt mit GMA Debug CONTENT. Wenn der Inhalt zu lang für eine Zeile ist, wird er auf mehrere Zeilen aufgeteilt, wobei jede Zeile mit GMA Debug CONTENT beginnt.

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