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

پلاتفرم را انتخاب کنید: Android iOS Unity Flutter Android (Legacy)

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

Android

{
  "Response ID": "NI3BZZDbGdyQtOUP4o21gAM",
  "Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
  "Adapter Responses": [
    {
      "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
      "Latency": 3585,
      "Ad Source Name": "AdMob Network",
      "Ad Source ID": "",
      "Ad Source Instance Name": "AdMob (default)",
      "Ad Source Instance ID": "",
      "Credentials": {
        "pubid": "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
      },
      "Ad Error": "null"
    }
  ],
  "Loaded Adapter Response": {
    "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
    "Latency": 3585,
    "Ad Source Name": "AdMob Network",
    "Ad Source ID": "",
    "Ad Source Instance Name": "AdMob (default)",
    "Ad Source Instance ID": "",
    "Credentials": {
      "pubid": "ca-app-pub-3940256099942544\/9257395921\/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
    },
    "Ad Error": "null"
  },
  "Response Extras": {
    "creative_id": "138471856178",
    "line_item_id": "6707237225",
  }
}

iOS

** Response Info **
    Response ID: BmnCZaSbE_6Mur8P5su8gAY
    Network: GADMAdapterGoogleAdMobAds

  ** Loaded Adapter Response **
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:AdMob Network
    Ad Source ID:
    Ad Source Instance Name:AdMob (default)
    Ad Source Instance ID:AdMob (default)
    AdUnitMapping:
{
    pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
    Error: (null)
    Latency: 2.724

  ** Extras Dictionary **
    {
        "creative_id" = "138471856178";
        "line_item_id" = "6707237225";
    }

  ** Mediation line items **
    Entry (1)
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:AdMob Network
    Ad Source ID:
    Ad Source Instance Name:AdMob (default)
    Ad Source Instance ID:AdMob (default)
    AdUnitMapping:
{
    pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
    Error: (null)
    Latency: 2.724

روش‌های مربوط به شیء ResponseInfo شامل موارد زیر است:

روش شرح
GetAdapterResponses فهرست AdapterResponseInfo حاوی فراداده را برای هر آداپتور موجود در پاسخ آگهی برمی‌گرداند. می‌توان از آن برای اشکال‌زدایی اجرای آبشاری واسطه‌گری و پیشنهاد قیمت استفاده کرد. ترتیب فهرست با ترتیب آبشار میانجی‌گری برای این درخواست آگهی مطابقت دارد.

برای اطلاعات بیشتر، به اطلاعات پاسخ آداپتور مراجعه کنید.

GetLoadedAdapterResponseInfo AdapterResponseInfo مربوط به آداپتوری را که آگهی را بار کرده است برمی‌گرداند.
GetMediationAdapterClassName نام کلاس آداپتور میانجی‌گری شبکه آگهی را که آگهی را بار کرده است برمی‌گرداند.
GetResponseId شناسه پاسخ یک شناسه یکتا برای پاسخ آگهی است. از این شناسه می‌توان برای شناسایی و مسدود کردن آگهی در مرکز بازبینی آگهی استفاده کرد.
GetResponseExtras اطلاعات بیشتری درباره پاسخ آگهی برمی‌گرداند. Extras می‌تواند کلیدهای زیر را برگرداند:
  • creative_id: شناسه طرح‌آگهی آگهی انتخاب‌شده. فقط برای آگهی‌های رزرو برگردانده می‌شود.
  • line_item_id: شناسه مورد سطری آگهی انتخاب‌شده. فقط برای آگهی‌های رزرو برگردانده می‌شود.

در اینجا نمونه‌ای از خواندن مقادیر از 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 creativeId = extras["creative_id"];
  string lineItemId = extras["line_item_id"];
}

اطلاعات پاسخ آداپتور

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 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;
}