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

اختيار النظام الأساسي: Android جديد Android iOS Unity Flutter

لأغراض تصحيح الأخطاء والتسجيل، توفّر الإعلانات التي تم تحميلها بنجاح عنصر 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 معرّف الردّ هو معرّف فريد لاستجابة الإعلان. يمكن استخدام هذا المعرّف لتحديد الإعلان وحظره في مركز مراجعة الإعلانات.
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;
  });
}