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

برای اهداف اشکال زدایی و ورود به سیستم، تبلیغات با موفقیت بارگذاری شده یک شی ResponseInfo را ارائه می دهند. این شیء حاوی اطلاعاتی در مورد تبلیغی است که بارگذاری کرده است، علاوه بر اطلاعات مربوط به آبشار میانجی که برای بارگذاری آگهی استفاده شده است.

برای مواردی که تبلیغ با موفقیت بارگیری می شود، شیء تبلیغ دارای یک متد GetResponseInfo() است. به عنوان مثال، InterstitialAd.GetResponseInfo() اطلاعات پاسخ را برای یک تبلیغ بینابینی بارگذاری شده دریافت می کند.

برای مواردی که تبلیغات بارگیری نمی شوند و فقط یک خطا در دسترس است، اطلاعات پاسخ از طریق AdFailedToLoadEventArgs.LoadAdError.GetResponseInfo() در دسترس است.

InterstitialAd ad;

private void RequestInterstitial()
{
    ad = new InterstitialAd("AD_UNIT_ID");
    this.interstitial.OnAdLoaded += OnAdLoaded;
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    AdRequest request = new AdRequest.Builder().Build();
    this.interstitial.LoadAd(request);
}

private void OnAdLoaded(object sender, EventArgs args)
{
    ResponseInfo info = ad.GetResponseInfo();
}

private void OnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    ResponseInfo info = args.LoadAdError.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"
  }
}

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 OnAdLoaded(object sender, EventArgs args)
{
  ResponseInfo info = ad.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"
}

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 OnAdLoaded(object sender, EventArgs args)
{
  ResponseInfo responseInfo = ad.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;
}