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

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

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

getLoadedAdSourceResponse מחזירה את האובייקט AdSourceResponseInfo שמתאים למקור המודעות שטען את המודעה.
getAdapterClassName מחזירה את שם המחלקה של המתאם לתהליך בחירת הרשת של מקור המודעות שטען את המודעה.
getResponseId מזהה התגובה הוא מזהה ייחודי של התגובה לבקשה להצגת מודעה. אפשר להשתמש במזהה הזה כדי לזהות ולחסום את המודעה במרכז בקרת המודעות (ARC).
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();
}