اطلاعات مربوط به پاسخ آگهی را بازیابی کنید

پلتفرم مورد نظر: اندروید، iOS، یونیتی ، فلاتر

برای اشکال‌زدایی و ثبت وقایع، تبلیغات بارگذاری‌شده با موفقیت، یک شیء 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() نشان داده شده است که داده‌های اشکال‌زدایی برگردانده شده برای یک تبلیغ بارگذاری شده را نشان می‌دهد:

اندروید

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

آی‌او‌اس

 ** 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 را مشاهده می‌کنید:

اندروید

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

آی‌او‌اس

  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 منبع تبلیغاتی که نشان‌دهنده شبکه تبلیغاتی خاصی است که به نمایش (impression) می‌پردازد را دریافت می‌کند. برای کمپین‌ها، Mediated House Ads برای نوع هدف کمپین تبلیغات واسطه‌ای و Reservation Campaign برای انواع هدف نمایش و کلیک بازگردانده می‌شوند. برای فهرست نام‌های منبع تبلیغاتی ممکن، زمانی که یک شبکه تبلیغاتی به تبلیغ می‌پردازد، به Ad sources مراجعه کنید.
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;
  });
}