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