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

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

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

getLoadedAdapterResponseInfo מחזירה את AdapterResponseInfo שמתאים למתאם שטען את המודעה.
getMediationAdapterClassName מחזירה את שם המחלקה של מתאם התהליך לבחירת רשת (Mediation) של מקור המודעות שטען את המודעה.
getResponseId מזהה התגובה הוא מזהה ייחודי של התגובה לבקשת המודעה. אפשר להשתמש במזהה הזה כדי לזהות ולחסום את המודעה במרכז בקרת המודעות.
getResponseExtras מחזירה מידע נוסף על תגובת המודעה. התוספים יכולים להחזיר את המפתחות הבאים:
  • 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();
}