جارٍ استرداد المعلومات حول استجابة الإعلان

لأغراض تصحيح الأخطاء والتسجيل، توفِّر الإعلانات التي تم تحميلها بنجاح عنصر 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": {}
}

تتضمّن الطرق المتعلقة بالكائن 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
}