Reklam yanıtıyla ilgili bilgi alma

Bir reklam yüklendikten veya yüklenemedikten sonra ResponseInfo nesnesini inceleyin. Bu nesne, yüklenen reklamı ve isteği işlemek için kullanılan uyumlulaştırma şelalesiyle ilgili meta verileri ayrıntılı olarak açıklar.

Reklam başarıyla yüklenirse reklam örneği bir getResponseInfo yöntemi içerir. Örneğin, interstitialAd.getResponseInfo yöntemi, yüklenen bir InterstitialAd nesnesi için yanıt bilgilerini döndürür.

Bir reklam yüklenemezse LoadAdError nesnesindeki isteğe bağlı responseInfo özelliğine (ör. error.responseInfo) erişin.

Yanıt bilgisi nesnesini inceleme

ResponseInfo nesnesi, bir reklam isteğinden döndürülen teşhis ayrıntılarını sağlar.

Aşağıdaki örnekte, yüklenen bir reklam için yanıt bilgisi çıkışı gösterilmektedir:

Android

{
  "responseId": "COOllLGxlPoCFdAx4Aod-Q4A0g",
  "responseExtras": {},
  "loadedAdSourceResponseInfo": {
    "adapterClassName": "com.google.ads.mediation.admob.AdMobAdapter",
    "latencyMillis": 328,
    "name": "Reservation campaign",
    "id": "7068401028668408324",
    "instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
    "instanceId": "4665218928925097",
    "credentials": {},
    "mediationAdError": null
  },
  "adSourceResponses": [
    {
      "adapterClassName": "com.google.ads.mediation.admob.AdMobAdapter",
      "latencyMillis": 328,
      "name": "Reservation campaign",
      "id": "7068401028668408324",
      "instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
      "instanceId": "4665218928925097",
      "credentials": {},
      "mediationAdError": null
    }
  ]
}

iOS

{
  "responseId": "COOllLGxlPoCFdAx4Aod-Q4A0g",
  "responseExtras": {},
  "loadedAdSourceResponseInfo": {
    "adapterClassName": "GADMAdapterGoogleAdMobAds",
    "latencyMillis": 328,
    "name": "Reservation campaign",
    "id": "7068401028668408324",
    "instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
    "instanceId": "4665218928925097",
    "credentials": {},
    "mediationAdError": null
  },
  "adSourceResponses": [
    {
      "adapterClassName": "GADMAdapterGoogleAdMobAds",
      "latencyMillis": 328,
      "name": "Reservation campaign",
      "id": "7068401028668408324",
      "instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
      "instanceId": "4665218928925097",
      "credentials": {},
      "mediationAdError": null
    }
  ]
}

ResponseInfo nesnesi aşağıdaki özellikleri sağlar:

Mülk Tür Açıklama
adSourceResponses readonly AdSourceResponseInfo[] Uyumlulaştırma şelalesindeki her bir reklam kaynağı denemesini temsil eden AdSourceResponseInfo nesnelerinin listesi.
loadedAdSourceResponseInfo AdSourceResponseInfo | undefined Reklamı başarıyla yükleyen reklam kaynağı bağdaştırıcısının meta verileri. Reklam yüklenmediyse bu değer undefined olur.
responseExtras Readonly<Record<string, unknown>> Reklam yanıtının döndürdüğü ek meta veriler (ör. mediation_group_name anahtarı).
responseId string Reklam yanıtı için benzersiz bir tanımlayıcı. Reklam İnceleme Merkezi'nde (ARC) engellenen reklamları tanımlamak için bu kimliği kullanın.

Reklam kaynağı yanıt bilgilerini okuma

AdSourceResponseInfo nesnesi, reklam yanıtına dahil edilen bir bağdaştırıcı için meta veriler sağlar. Bu nesneler, uyumlulaştırma şelalesindeki her bir reklam kaynağının çağrılma sırasına göre listelenir.

Aşağıdaki örnekte, yüklenen bir reklam için reklam kaynağı yanıt bilgisi çıkışı gösterilmektedir:

Android

{
  "adapterClassName": "com.google.ads.mediation.admob.AdMobAdapter",
  "latencyMillis": 328,
  "name": "Reservation campaign",
  "id": "7068401028668408324",
  "instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
  "instanceId": "4665218928925097",
  "credentials": {},
  "mediationAdError": null
}

iOS

{
  "adapterClassName": "GADMAdapterGoogleAdMobAds",
  "latencyMillis": 328,
  "name": "Reservation campaign",
  "id": "7068401028668408324",
  "instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
  "instanceId": "4665218928925097",
  "credentials": {},
  "mediationAdError": null
}

AdSourceResponseInfo, her reklam kaynağı için aşağıdaki özellikleri sağlar:

Mülk Tür Açıklama
adapterClassName string Reklam ağı bağdaştırıcısının sınıf adı.
credentials Readonly<Record<string, string>> Bu bağdaştırıcı için AdMob kullanıcı arayüzünde yapılandırılan sunucu tarafı parametreleri.
id string Reklam kaynağının benzersiz kimliği.
instanceId string Reklam kaynağı örneğinin benzersiz kimliği.
instanceName string Reklam kaynağı örneğinin adı.
latencyMillis number Ağ bağlantısı kurma girişimi için geçen süre (milisaniye cinsinden).
mediationAdError MediationAdError | undefined Ağ denemesi başarısız olursa bu özellik hatayı açıklar. İşlem başarılı olursa bu değer undefined olur.
name string Reklam kaynağının adı (ör. "Reservation campaign").

Tam yanıt bilgilerini günlüğe kaydetme

Bu bölümde, yüklenen bir reklamın tam yanıt bilgilerini incelemeye yönelik bir uygulama ele alınmaktadır.

Aşağıdaki örnekte, bir reklam yüklendiğinde veya yüklenemediğinde yanıt bilgileri günlüğe kaydedilir ve incelenir:

import {InterstitialAd, LoadAdError} from '@google/mobile-ads';
import type {AdSourceResponseInfo, ResponseInfo} from '@google/mobile-ads';

export async function logResponseInfo(adUnitId: string): Promise<void> {
  try {
    const interstitial = await InterstitialAd.load({adUnitId});
    const responseInfo: ResponseInfo = interstitial.getResponseInfo();

    console.log('Ad Loaded Response ID:', responseInfo.responseId);
    console.log(
      'Loaded Adapter Class Name:',
      responseInfo.loadedAdSourceResponseInfo?.adapterClassName,
    );

    // Inspect each ad source response in the mediation waterfall
    responseInfo.adSourceResponses.forEach(
      (adSourceResponse: AdSourceResponseInfo, index: number) => {
        console.log(
          `Waterfall index ${index}:`,
          adSourceResponse.adapterClassName,
          `Latency: ${adSourceResponse.latencyMillis}ms`,
          adSourceResponse.mediationAdError
            ? `Error: ${adSourceResponse.mediationAdError.message}`
            : 'Success',
        );
      },
    );
  } catch (error) {
    if (error instanceof LoadAdError) {
      console.error('Ad failed to load:', error.message);
      if (error.responseInfo) {
        console.log('Failed Response ID:', error.responseInfo.responseId);
      }
    }
  }
}