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

למטרות ניפוי באגים ורישום ביומן, מודעות שנפרסו בהצלחה מספקות אובייקט 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": "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-app-pub-3940256099942544\/9257395921\/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
    },
    "Ad Error": "null"
  },
  "Response Extras": {
    "creative_id": "138471856178",
    "line_item_id": "6707237225",
  }
}

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

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

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

getLoadedAdSourceResponse מחזירה את הערך AdSourceResponseInfo שמתאים למקור המודעות שממנו נטענה המודעה.
getAdapterClassName מחזירה את שם המחלקה של מתאם התהליך לבחירת רשת של מקור המודעות שטען את המודעה.
getResponseId מזהה התגובה הוא מזהה ייחודי של התגובה לבקשת המודעה. אפשר להשתמש במזהה הזה כדי לזהות ולחסום את המודעה במרכז בקרת המודעות.
getResponseExtras מחזירה מידע נוסף על תגובת המודעה. התוספים יכולים להחזיר את המפתחות הבאים:
  • creative_id: מזהה הקריאייטיב של המודעה שנבחרה. הערך מוחזר למודעות בהזמנה בלבד.
  • line_item_id: מזהה פריט אחד של המודעה שנבחרה. הערך הזה מוחזר רק למודעות בהזמנה.

Kotlin

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

  val responseId = responseInfo.responseId
  val adapterClassName = responseInfo.adapterClassName
  val adSourceResponses = responseInfo.adSourceResponses
  val loadedAdSourceResponse = responseInfo.loadedAdSourceResponse
  val extras = responseInfo.responseExtras
  val creativeId = extras.getString("creative_id")
  val lineItemId = extras.getString("line_item_id")
}

Java

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

  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  String responseId = responseInfo.getResponseId();
  String adapterClassName = responseInfo.getAdapterClassName();
  List<AdSourceResponseInfo> adSourceResponses = responseInfo.getAdSourceResponses();
  AdSourceResponseInfo loadedAdSourceResponse = responseInfo.getLoadedAdSourceResponse();
  Bundle extras = responseInfo.getResponseExtras();
  String creativeId = extras.getString("creative_id");
  String lineItemId = extras.getString("line_item_id");
}

פרטי התגובה של מקור המודעות

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

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

{
  "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"
}

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

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

Kotlin

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

  val adError = loadedAdSourceResponseInfo.adError
  val adSourceId = loadedAdSourceResponseInfo.id
  val adSourceInstanceId = loadedAdSourceResponseInfo.instanceId
  val adSourceInstanceName = loadedAdSourceResponseInfo.instanceName
  val adSourceName = loadedAdSourceResponseInfo.name
  val adapterClassName = loadedAdSourceResponseInfo.adapterClassName
  val credentials = loadedAdSourceResponseInfo.credentials
  val latencyMillis = loadedAdSourceResponseInfo.latencyMillis
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  AdSourceResponseInfo loadedAdSourceResponseInfo =
      interstitialAd.getResponseInfo().getLoadedAdSourceResponse();

  AdError adError = loadedAdSourceResponseInfo.getAdError();
  String adSourceId = loadedAdSourceResponseInfo.getId();
  String adSourceInstanceId = loadedAdSourceResponseInfo.getInstanceId();
  String adSourceInstanceName = loadedAdSourceResponseInfo.getInstanceName();
  String adSourceName = loadedAdSourceResponseInfo.getName();
  String adapterClassName = loadedAdSourceResponseInfo.getAdapterClassName();
  Bundle credentials = loadedAdSourceResponseInfo.getCredentials();
  long latencyMillis = loadedAdSourceResponseInfo.getLatencyMillis();
}