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

لأغراض تصحيح الأخطاء وتسجيل البيانات، تقدّم الإعلانات التي تم تحميلها بنجاح عنصر ResponseInfo. يحتوي هذا العنصر على معلومات عن الإعلان الذي حمّله، بالإضافة إلى معلومات عن العرض الإعلاني بدون انقطاع للتوسّط المستخدَم لتحميل الإعلان.

في الحالات التي يتم فيها تحميل إعلان بنجاح، يحتوي عنصر الإعلان على دالّة GetResponseInfo(). على سبيل المثال، يحصل interstitialAd.GetResponseInfo() على معلومات الاستجابة لإعلان بيني تم تحميله.

في الحالات التي يتعذّر فيها تحميل الإعلانات ويتوفّر خطأ فقط، تتوفّر معلومات الردّ من خلال LoadAdError.GetResponseInfo().

private void LoadInterstitialAd()
{
  AdRequest adRequest = new AdRequest();
  InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
  {
    // If the operation failed with a reason.
    if (error != null)
    {
        ResponseInfo errorInfo = error.GetResponseInfo();
        Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
        return;
    }

    ResponseInfo loadInfo = insterstitialAd.GetResponseInfo();
  });
}

معلومات الردّ

في ما يلي نموذج لمخرجات ResponseInfo.ToString() التي تعرض بيانات تصحيح الأخطاء التي تم عرضها لإعلان تم تحميله:

Android

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

iOS

 ** Response Info **
    Response ID: CIzs0ZO5kPoCFRqWAAAdJMINpQ
    Network: GADMAdapterGoogleAdMobAds

  ** Loaded Adapter Response **
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name: Reservation campaign
    Ad Source ID: 7068401028668408324
    Ad Source Instance Name: [DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID: [DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
    {
    }
    Error: (null)
    Latency: 0.391

  ** Extras Dictionary **
    {
        "mediation_group_name" = Campaign;
    }

  ** Mediation line items **
    Entry (1)
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name: Reservation campaign
    Ad Source ID:7068401028668408324
    Ad Source Instance Name: [DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID: [DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
    {
    }
    Error: (null)
    Latency: 0.391

تشمل الطرق في عنصر ResponseInfo ما يلي:

الطريقة الوصف
GetAdapterResponses تعرِض هذه السمة قائمة AdapterResponseInfo التي تحتوي على بيانات وصفية لكل محوِّل مُدرَج في استجابة الإعلان. يمكن استخدامها لتصحيح أخطاء التوسّط للعرض بدون انقطاع وتنفيذ عروض الأسعار. يتطابق ترتيب القائمة مع ترتيب تدفق التوسّط لطلب الإعلان هذا.

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

GetLoadedAdapterResponseInfo تعرِض هذه السمة القيمة AdapterResponseInfo التي تقابل المحوِّل الذي حمّل الإعلان.
GetMediationAdapterClassName تعرِض هذه السمة اسم فئة محوِّل التوسّط لشبكة الإعلانات التي حمّلت الإعلان.
GetResponseId معرّف الاستجابة هو معرّف فريد لاستجابة الإعلان. يمكن استخدام هذا المعرّف لتحديد الإعلان وحظره في مركز مراجعة الإعلانات (ARC).
GetResponseExtras تعرِض هذه السمة معلومات إضافية عن استجابة الإعلان. يمكن أن تعرِض الإضافات المفاتيح التالية:
  • mediation_group_name: اسم مجموعة التوسّط
  • mediation_ab_test_name: اسم اختبار A/B للتوسّط، إن أمكن
  • mediation_ab_test_variant: الصيغة المستخدَمة في اختبار A/B للتوسّط، إن أمكن

في ما يلي عيّنة من قيم القراءة من ResponseInfo محمَّل:

private void LoadInterstitialAd()
{
  AdRequest adRequest = new AdRequest();
  InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
  {
    // If the operation failed with a reason.
    if (error != null)
    {
        Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
        return;
    }

    ResponseInfo responseInfo = insterstitialAd.GetResponseInfo();
    string responseId = responseInfo.GetResponseId();
    string mediationAdapterClassName = responseInfo.GetMediationAdapterClassName();
    List<AdapterResponseInfo> adapterResponses = responseInfo.GetAdapterResponses();
    AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.GetLoadedAdapterResponseInfo();
    Dictionary<string, string> extras = responseInfo.GetResponseExtras();
    string mediationGroupName = extras["mediation_group_name"];
    string mediationABTestName = extras["mediation_ab_test_name"];
    string mediationABTestVariant = extras["mediation_ab_test_variant"]; 
  });
}

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

يحتوي AdapterResponseInfo على بيانات وصفية لكل محوِّل مضمّن في ردّ الإعلان، ويمكن استخدامه لتصحيح أخطاء التوسّط للعروض الإعلانية بدون انقطاع وتنفيذ عروض الأسعار. يتطابق ترتيب القائمة مع ترتيب تدفق التوسّط لطلب الإعلان.

في ما يلي نموذج للناتج الذي يعرضه AdapterResponseInfo:

Android

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

iOS

  Network: GADMAdapterGoogleAdMobAds
  Ad Source Name: Reservation campaign
  Ad Source ID: 7068401028668408324
  Ad Source Instance Name: [DO NOT EDIT] Publisher Test Interstitial
  Ad Source Instance ID: [DO NOT EDIT] Publisher Test Interstitial
  AdUnitMapping:
  {
  }
  Error: (null)
  Latency: 0.391

توفّر AdapterResponseInfo الطرق التالية لكل شبكة مواقع إعلانية:

الطريقة الوصف
AdError تحصل على الخطأ المرتبط بالطلب المرسَل إلى الشبكة. تُرجِع القيمة null إذا حمّلت الشبكة إعلانًا بنجاح أو إذا لم يتمّ استخدام الشبكة.
AdSourceId تحصل على رقم تعريف مصدر الإعلان المرتبط باستجابة المكوّن الإضافي هذه. بالنسبة إلى الحملات، يتم عرض 6060308706800320801 لنوع هدف الحملة للإعلانات المعتمَدة على التوسّط، ويتم عرض 7068401028668408324 لأنواع أهداف الظهور والنقرات. اطّلِع على مصادر الإعلانات للاطّلاع على قائمة أرقام تعريف مصادر الإعلانات المحتمَلة عندما تعرِض شبكة إعلانية الإعلان.
AdSourceInstanceId تحصل على معرّف مثيل مصدر الإعلان المرتبط بهذه القيمة للاستجابة.
AdSourceInstanceName تحصل على اسم مثيل مصدر الإعلان المرتبط بهذه القيمة للاستجابة.
AdSourceName تحصل على مصدر الإعلان الذي يمثّل شبكة المواقع الإعلانية المحدّدة التي تعرِض مرّة الظهور. بالنسبة إلى الحملات، يتم عرض Mediated House Ads لنوع هدف الحملة للإعلانات المعتمَدة على التوسّط، ويتم عرض Reservation Campaign لأنواع أهداف الظهور والنقرات. اطّلِع على مصادر الإعلانات للحصول على قائمة بأسماء مصادر الإعلانات المحتمَلة عندما تعرِض شبكة مواقع إعلانية الإعلان.
AdapterClassName تحصل على اسم فئة يحدِّد شبكة الإعلانات.
AdUnitMapping تحصل على إعدادات الشبكة من واجهة مستخدم AdMob.
LatencyMillis تحصل على الوقت الذي استغرقته شبكة المواقع الإعلانية في تحميل إعلان. يتم عرض القيمة 0 إذا لم يتم محاولة الاتصال بالشبكة.

في ما يلي عيّنة من قيم القراءة من AdapterResponseInfo محمَّل:

private void LoadInterstitialAd()
{
  AdRequest adRequest = new AdRequest();
  InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
  {
    // If the operation failed with a reason.
    if (error != null)
    {
        Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
        return;
    }

    ResponseInfo responseInfo = insterstitialAd.GetResponseInfo();
    AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();
    AdError adError = loadedAdapterResponseInfo.AdError;
    string adSourceId = loadedAdapterResponseInfo.AdSourceId;
    string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
    string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
    string adSourceName = loadedAdapterResponseInfo.AdSourceName;
    string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
    Dictionary<string, string> credentials = loadedAdapterResponseInfo.AdUnitMapping;
    long latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
  });
}