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

لأغراض تصحيح الأخطاء وتسجيل البيانات، تقدّم الإعلانات التي تم تحميلها بنجاح عنصرًا 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 التي تحتوي على بيانات وصفية لكل محوِّل مضمّن في استجابة الإعلان. يمكن استخدامها لتصحيح أخطاء توسّط العرض الإعلاني بدون انقطاع و تنفيذ عروض الأسعار. يتطابق ترتيب القائمة مع ترتيب تدفق التوسّط لهذا طلب الإعلان.

اطّلِع على معلومات استجابة المحوِّل للحصول على مزيد من المعلومات.

getLoadedAdapterResponseInfo تعرِض هذه السمة القيمة AdapterResponseInfo التي تقابل المحوِّل الذي حمّل الإعلان.
getMediationAdapterClassName تعرِض هذه السمة اسم فئة محوِّل التوسّط لمصدر الإعلان الذي حمّل الإعلان.
getResponseId معرّف الاستجابة هو معرّف فريد لاستجابة الإعلان. يمكن استخدام هذا المعرّف لتحديد الإعلان وحظره في مركز مراجعة الإعلانات (ARC).
getResponseExtras

تعرِض هذه السمة معلومات إضافية عن استجابة الإعلان. قد تُرجع السمات الإضافية المفاتيح التالية:

  • mediation_group_name: اسم مجموعة التوسّط
  • mediation_ab_test_name: اسم اختبار أ/ب للتوسّط، إذا كان منطبقًا
  • 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();
}