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

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

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

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

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

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());
}

פרטי התגובה

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

{
  "Response ID": "COOllLGxlPoCFdAx4Aod-Q4A0g",
  "Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
  "Adapter Responses": [
    {
      "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
      "Latency": 328,
      "Ad Source Name": "Reservation campaign",
      "Ad Source ID": "7068401028668408324",
      "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
      "Ad Source Instance ID": "4665218928925097",
      "Credentials": {},
      "Ad Error": "null"
    }
  ],
  "Loaded Adapter Response": {
    "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
    "Latency": 328,
    "Ad Source Name": "Reservation campaign",
    "Ad Source ID": "7068401028668408324",
    "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
    "Ad Source Instance ID": "4665218928925097",
    "Credentials": {},
    "Ad Error": "null"
  },
  "Response Extras": {
    "mediation_group_name": "Campaign"
  }
}

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

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

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

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

הפונקציה מחזירה מידע נוסף על התגובה למודעה. הפונקציה Extras עשויה להחזיר את המפתחות הבאים:

  • mediation_group_name: השם של הקבוצה לבחירת הרשת
  • mediation_ab_test_name: השם של בדיקת ה-A/B של תהליך בחירת הרשת, אם רלוונטי
  • mediation_ab_test_variant: הווריאנט ששימש בבדיקת ה-A/B של תהליך בחירת הרשת, אם רלוונטי

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
  val extras = responseInfo.responseExtras
  val mediationGroupName = extras.getString("mediation_group_name")
  val mediationABTestName = extras.getString("mediation_ab_test_name")
  val mediationABTestVariant = extras.getString("mediation_ab_test_variant")
}

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();
  Bundle extras = responseInfo.getResponseExtras();
  String mediationGroupName = extras.getString("mediation_group_name");
  String mediationABTestName = extras.getString("mediation_ab_test_name");
  String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}

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

השדה AdapterResponseInfo מכיל את פרטי התגובה של מקור מודעה ספציפי בתגובה לבקשת מודעה.

בדוגמה הבאה של פלט AdapterResponseInfo מוצגים המטא-נתונים של מודעה טעונה:

{
  "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
  "Latency": 328,
  "Ad Source Name": "Reservation campaign",
  "Ad Source ID": "7068401028668408324",
  "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
  "Ad Source Instance ID": "4665218928925097",
  "Credentials": {},
  "Ad Error": "null"
}

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

שיטה תיאור
getAdError הפונקציה מקבלת את השגיאה שמשויכת לבקשה למקור המודעות. הפונקציה מחזירה את הערך null אם מקור המודעות הצליח לטעון מודעה, או אם לא בוצע ניסיון לטעון מודעה ממקור המודעות.
getAdSourceId הפונקציה מקבלת את מזהה מקור המודעות שמשויך לתשובה של המתאם. בקמפיינים, הערך 6060308706800320801 מוחזר עבור סוג היעד 'קמפיין של מודעות בתהליך בחירת הרשת', והערך 7068401028668408324 מוחזר עבור סוגי היעדים 'חשיפות' ו'קליקים'. במקורות מודעות מפורטת רשימה של מזהי מקורות המודעות האפשריים כשמקור מודעות מציג מודעה.
getAdSourceInstanceId הפונקציה מקבלת את מזהה המכונה של מקור המודעות שמשויך לתשובה של המתאם.
getAdSourceInstanceName הפונקציה מקבלת את השם של מופע מקור המודעות שמשויך לתשובה של המתאם.
getAdSourceName הפונקציה מקבלת את שם מקור המודעות שמשויך לתשובה של המתאם. בקמפיינים, הערך Mediated House Ads מוחזר עבור סוג היעד של קמפיין של מודעות בתהליך בחירת הרשת, והערך Reservation Campaign מוחזר עבור סוגי היעדים 'חשיפות' ו'קליקים'. במקורות מודעות מפורטת רשימה של השמות האפשריים של מקורות המודעות כשמקור מודעות מציג מודעה.
getAdapterClassName הפונקציה מקבלת את שם הכיתה של מתאם מקור המודעות שטען את המודעה.
getCredentials הפונקציה מקבלת את פרטי הכניסה של המתאם של מקור המודעות שצוינו בממשק המשתמש של AdMob.
getLatencyMillis הפונקציה מקבלת את משך הזמן שבו מתאם מקור המודעות הקדיש לטעינת מודעה. הפונקציה מחזירה את הערך 0 אם לא בוצע ניסיון להשתמש במקור המודעות.

Kotlin

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

  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
}

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();
}