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

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

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");
}

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

معلومات استجابة المحوّل

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 إذا لم تتم محاولة الاتصال بالشبكة.

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
}