Ağ İzleme

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