אחזור מידע על התגובה למודעה

למטרות ניפוי באגים ורישום ביומן, מודעות שנטענו בהצלחה מספקות אובייקט ResponseInfo. האובייקט מכיל מידע על המודעה שהוא נטען, בנוסף למידע על רשימת הרשתות בתהליך בחירת הרשת ששימשה לטעינת המודעה.

במקרים שבהם מודעה נטענת בהצלחה, לאובייקט המודעה יש שיטה getResponseInfo(). לדוגמה, הקוד InterstitialAd.getResponseInfo() מקבל את פרטי התגובה של מודעת מעברון שנטענה.

במקרים שבהם מודעות לא נטענות ומוצגת רק הודעת שגיאה, המידע על התגובות זמין דרך LoadAdError.getResponseInfo().

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

@Override
public void onAdFailedToLoad(LoadAdError loadAdError) {
  ResponseInfo responseInfo = loadAdError.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAd)) {
  val responseInfo = interstitialAd.responseInfo
  Log.d(TAG, responseInfo.toString())
}

override fun onAdFailedToLoad(adError: LoadAdError) {
  val responseInfo = adError.responseInfo
  Log.d(TAG, responseInfo.toString())
}

פרטי התשובה

לפניכם פלט לדוגמה שהוחזר על ידי ResponseInfo.toString(), שבו מוצגים נתוני ניפוי הבאגים שהוחזרו למודעה שנטענה:

{
  "Response ID": "NI3BZZDbGdyQtOUP4o21gAM",
  "Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
  "Adapter Responses": [
    {
      "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
      "Latency": 3585,
      "Ad Source Name": "AdMob Network",
      "Ad Source ID": "",
      "Ad Source Instance Name": "AdMob (default)",
      "Ad Source Instance ID": "",
      "Credentials": {
        "pubid": "ca-pub-9939518381636264//21775744923/example/rewarded_interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
      },
      "Ad Error": "null"
    }
  ],
  "Loaded Adapter Response": {
    "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
    "Latency": 3585,
    "Ad Source Name": "AdMob Network",
    "Ad Source ID": "",
    "Ad Source Instance Name": "AdMob (default)",
    "Ad Source Instance ID": "",
    "Credentials": {
      "pubid": "ca-pub-9939518381636264//21775744923/example/rewarded_interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
    },
    "Ad Error": "null"
  },
  "Response Extras": {}
}

השיטות באובייקט ResponseInfo כוללות:

שיטה תיאור
getAdapterResponses מחזירה את הרשימה של AdapterResponseInfo עם מטא-נתונים לכל מתאם שנכלל בתגובה למודעה. אפשר להשתמש בנתונים האלה כדי לנפות באגים בתהליך בחירת הרשת (Mediation) ב-Waterfall ובביצוע הבידינג. הסדר של הרשימה תואם את הסדר של רשימת הרשתות בתהליך בחירת הרשת עבור הבקשה הזו להצגת מודעה.

מידע נוסף זמין במאמר מידע על תגובת המתאם.

getLoadedAdapterResponseInfo הפונקציה מחזירה את הערך AdapterResponseInfo שתואם למתאם שטען את המודעה.
getMediationAdapterClassName הפונקציה מחזירה את שם המחלקה של מתאם תהליך בחירת הרשת (Mediation) של רשת המודעות שנטענו את המודעה.
getResponseId מזהה התגובה הוא מזהה ייחודי של התגובה למודעה. אפשר להשתמש במזהה הזה כדי לזהות ולחסום את המודעה במרכז בקרת המודעות (ARC).
getResponseExtras

הצגת מידע נוסף על התגובה למודעה.

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  MyActivity.this.interstitialAd = interstitialAd;

  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  String responseId = responseInfo.getResponseId();
  String mediationAdapterClassName = responseInfo.getMediationAdapterClassName();
  List<AdapterResponseInfo> adapterResponses = responseInfo.getAdapterResponses();
  AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();
}

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAd)) {
  val responseInfo = interstitialAd.responseInfo

  val responseId = responseInfo.responseId
  val mediationAdapterClassName = responseInfo.mediationAdapterClassName
  val adapterResponses = responseInfo.adapterResponses
  val loadedAdapterResponseInfo = responseInfo.loadedAdapterResponseInfo
}

פרטי התשובה של המתאם

AdapterResponseInfo מכיל מטא-נתונים לכל מתאם שכלול בתגובה למודעה, וניתן להשתמש בהם לניפוי באגים בתהליך בחירת הרשת (Mediation) ב-Waterfall ובביצוע הבידינג. הסדר ברשימה תואם לסדר ברשימת הרשתות בתהליך בחירת הרשת של הבקשה להצגת מודעה.

הנה פלט לדוגמה של AdapterResponseInfo:

{
  "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
  "Latency": 3585,
  "Ad Source Name": "AdMob Network",
  "Ad Source ID": "",
  "Ad Source Instance Name": "AdMob (default)",
  "Ad Source Instance ID": "",
  "Credentials": {
    "pubid": "ca-pub-9939518381636264//21775744923/example/rewarded_interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
  },
  "Ad Error": "null"
}

לכל רשת מודעות, AdapterResponseInfo מספק את השיטות הבאות:

שיטה תיאור
getAdError הפונקציה מחזירה לרשת את השגיאה המשויכת לבקשה. הפונקציה מחזירה את הערך null אם המודעה נטענה בהצלחה ברשת או אם לא התבצע ניסיון לרשת.
getAdSourceId הפונקציה מקבלת את המזהה של מקור המודעות שמשויך לתגובת המתאם הזו.
getAdSourceInstanceId הפונקציה מקבלת את מזהה המופע של מקור המודעות שמשויך לתגובת המתאם הזו. הפונקציה מחזירה מחרוזת ריקה אם היא לא מולאה על ידי קבוצת תפוקה.
getAdSourceInstanceName הפונקציה מקבלת את שם המופע של מקור המודעות שמשויך לתגובת המתאם הזו.
getAdSourceName הפונקציה מקבלת את מקור המודעות שמייצג את רשת המודעות הספציפית שמציגה את החשיפה.
getAdapterClassName מקבל את שם המחלקה של המתאם שטען את המודעה.
getCredentials מקבל את הגדרות הרשת שהוגדרו מממשק המשתמש של Ad Manager .
getLatencyMillis הפונקציה מקבלת את משך הזמן ברשת המודעות שהקדישה לטעינת מודעה. הפונקציה מחזירה את הערך 0 אם לא ניסית את הרשת.

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  AdapterResponseInfo loadedAdapterResponseInfo =
      interstitialAd.getResponseInfo().getLoadedAdapterResponseInfo();

  AdError adError = loadedAdapterResponseInfo.getAdError();
  String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
  String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();
  String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
  String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
  String adapterClassName = loadedAdapterResponseInfo.getAdapterClassName();
  Bundle credentials = loadedAdapterResponseInfo.getCredentials();
  long latencyMillis = loadedAdapterResponseInfo.getLatencyMillis();
}

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAds) {
  val loadedAdapterResponseInfo = interstitialAd.responseInfo.loadedAdapterResponse

  val adError = loadedAdapterResponseInfo.adError
  val adSourceId = loadedAdapterResponseInfo.adSourceId
  val adSourceInstanceId = loadedAdapterResponseInfo.adSourceInstanceId
  val adSourceInstanceName = loadedAdapterResponseInfo.adSourceInstanceName
  val adSourceName = loadedAdapterResponseInfo.adSourceName
  val adapterClassName = loadedAdapterResponseInfo.adapterClassName
  val credentials = loadedAdapterResponseInfo.credentials
  val latencyMillis = loadedAdapterResponseInfo.latencyMillis
}