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

למטרות ניפוי באגים ורישום ביומן, מודעות שנטענות בהצלחה מספקות 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": {}
}

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

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

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

getLoadedAdapterResponseInfo הפונקציה מחזירה את הערך AdapterResponseInfo שתואם למתאם שטען את המודעה.
getMediationAdapterClassName פונקציה זו מחזירה את שם המחלקה של מתאם תהליך בחירת הרשת של רשת המודעות שנטענה את המודעה.
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 מכיל מטא-נתונים של כל מתאם שכלול בתגובה להצגת המודעה, שאפשר להשתמש בו כדי לנפות באגים בהפעלת הבידינג וברשימת הרשתות בתהליך בחירת הרשת. סדר הרשימה תואם לסדר ברשימת הרשתות בתהליך בחירת הרשת עבור הבקשה להצגת מודעה.

הנה דוגמה לפלט 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
}