Ağ izleme, Google Mobile Ads SDK'sı ile ilgili ağ etkinliklerini görmenize olanak tanır. Bu, Google Mobil Reklamlar uygulamanızdaki hataları ayıklarken yararlı olabilir.
Charles Proxy gibi araçlar yerine ağ izlemeyi kullanmanın önemli bir nedeni, bu yöntemin tüm Android sürümleriyle ve Google Play Hizmetleri'nin desteklenen bir sürümünü çalıştıran cihazlarda çalışmasıdır. Android 7.0'dan bu yana kullanımda olan güvenilir CA'lar ve sertifikalarda yapılan değişiklikler nedeniyle proxy oluşturma araçları için bu durum geçerli değildir.
Bu kılavuzda, hata ayıklama amacıyla ağ izlemeyi nasıl etkinleştireceğiniz açıklanmaktadır.
Enable tracing
Ağ izlemeyi etkinleştirmek için cihazınızda geliştirici seçeneklerini etkinleştirin. Ardından Google Ayarları uygulamasını başlatın ve Reklamlar seçeneğini belirleyin:
Geliştirici seçeneklerinizin etkin olduğunu ve bu özelliğin kullanılabilir olduğunu varsayarsak ekranınız aşağıdaki gibi görünür:
Aşağıdaki iletişim kutusunu görmek için Reklamlar için hata ayıklama günlük kaydını etkinleştir seçeneğini belirleyin:
Tamam'a dokunduğunuzda, 10ca1ad1abe1
ile biten bir reklam kimliği sunulur:
Artık logcat'te ağ günlük kaydından tüm çıkışları görebilirsiniz. Hem ekrana hem de dosyaya yalnızca Bilgi Düzeyindeki Reklamlar çıkışını filtrelemek için aşağıdaki komutu verin:
adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txt
Çıkış
Platforma uygun standart konsol günlükleri, ağ günlüklerinin çıktısını almak için kullanılır.
Konsol günlük mesajları her zaman GMA Debug BEGIN
, GMA Debug CONTENT
veya GMA Debug FINISH
dizesiyle başlar. Böylece bu dizelerde arama veya filtreleme yapabilirsiniz. Her ağ günlüğü için ilk günlük mesajı GMA Debug BEGIN
, son günlük mesajı GMA Debug FINISH
ve ağ günlüğü içeriği GMA Debug CONTENT
ile başlar. İçerik bir satıra sığmayacak kadar uzunsa her satır GMA Debug CONTENT
ile başlayacak şekilde birden fazla satıra bölünür.
Konsol çıkışı örneği
I/Ads ( 4660): GMA Debug BEGIN
I/Ads ( 4660): GMA Debug CONTENT {"timestamp":1510679993741,...}
I/Ads ( 4660): GMA Debug FINISH
JSON çıkışı örneği
Aşağıda, logcat'ten bazı JSON çıkışı örnekleri verilmiştir:
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
}
}