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

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

في ما يلي نموذج لقيم القراءة من 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;
  });
}