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

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

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

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

جاوا

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

@Override
public void onAdFailedToLoad(LoadAdError loadAdError) {
  ResponseInfo responseInfo = loadAdError.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

کاتلین

override fun onAdLoaded(interstitialAd: InterstitialAd)) {
  val responseInfo = interstitialAd.responseInfo
  Log.d(TAG, responseInfo.toString())
}

override fun onAdFailedToLoad(adError: LoadAdError) {
  val responseInfo = adError.responseInfo
  Log.d(TAG, responseInfo.toString())
}

اطلاعات پاسخ

در اینجا خروجی نمونه ای است که توسط 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"
  }
}

متدهای موجود در شی ResponseInfo عبارتند از:

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

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

getLoadedAdapterResponseInfo AdapterResponseInfo مربوط به آداپتوری که آگهی را بارگیری کرده است، برمی گرداند.
getMediationAdapterClassName نام کلاس آداپتور میانجی شبکه تبلیغاتی را که آگهی را بارگیری کرده است، برمی‌گرداند.
getResponseId شناسه پاسخ یک شناسه منحصر به فرد برای پاسخ آگهی است. از این شناسه می توان برای شناسایی و مسدود کردن آگهی در مرکز بررسی تبلیغات (ARC) استفاده کرد.
getResponseExtras

اطلاعات اضافی درباره پاسخ آگهی را برمی گرداند. اضافی ممکن است کلیدهای زیر را برگرداند:

  • mediation_group_name : نام گروه میانجیگری
  • mediation_ab_test_name : نام آزمون میانجی A/B ، در صورت وجود
  • mediation_ab_test_variant : نوع مورد استفاده در آزمون میانجی A/B، در صورت وجود

جاوا

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  MyActivity.this.interstitialAd = interstitialAd;

  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  String responseId = responseInfo.getResponseId();
  String mediationAdapterClassName = responseInfo.getMediationAdapterClassName();
  List<AdapterResponseInfo> adapterResponses = responseInfo.getAdapterResponses();
  AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();
  Bundle extras = responseInfo.getResponseExtras();
  String mediationGroupName = extras.getString("mediation_group_name");
  String mediationABTestName = extras.getString("mediation_ab_test_name");
  String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}

کاتلین

override fun onAdLoaded(interstitialAd: InterstitialAd)) {
  val responseInfo = interstitialAd.responseInfo

  val responseId = responseInfo.responseId
  val mediationAdapterClassName = responseInfo.mediationAdapterClassName
  val adapterResponses = responseInfo.adapterResponses
  val loadedAdapterResponseInfo = responseInfo.loadedAdapterResponseInfo
  val extras = responseInfo.responseExtras
  val mediationGroupName = extras.getString("mediation_group_name")
  val mediationABTestName = extras.getString("mediation_ab_test_name")
  val mediationABTestVariant = extras.getString("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"
}

برای هر شبکه تبلیغاتی، AdapterResponseInfo روش های زیر را ارائه می دهد:

روش شرح
getAdError خطای مربوط به درخواست به شبکه را دریافت می کند. اگر شبکه با موفقیت یک تبلیغ را بارگیری کند یا اگر شبکه تلاشی نکرده باشد، null برمی‌گرداند.
getAdSourceId شناسه منبع آگهی مرتبط با این پاسخ آداپتور را دریافت می کند.برای کمپین‌ها، 6060308706800320801 برای نوع هدف کمپین تبلیغات واسطه‌ای، و 7068401028668408324 برای انواع هدف‌های نمایش و کلیک برگردانده می‌شود. هنگامی که یک شبکه تبلیغاتی تبلیغ را ارائه می دهد، برای لیست شناسه های منبع آگهی احتمالی به منابع آگهی مراجعه کنید.
getAdSourceInstanceId شناسه نمونه منبع آگهی مرتبط با این پاسخ آداپتور را دریافت می کند.
getAdSourceInstanceName نام نمونه منبع تبلیغ مرتبط با این پاسخ آداپتور را دریافت می کند.
getAdSourceName منبع آگهی را دریافت می کند که نشان دهنده شبکه تبلیغاتی خاصی است که به نمایش ارائه می شود. برای کمپین‌ها، Mediated House Ads برای نوع هدف کمپین تبلیغات واسطه‌ای، و Reservation Campaign برای انواع هدف‌های نمایش و کلیک برگردانده می‌شود. هنگامی که یک شبکه تبلیغاتی تبلیغ را ارائه می‌کند، برای فهرست نام‌های منبع آگهی احتمالی به منابع آگهی مراجعه کنید.
getAdapterClassName نام کلاس آداپتوری که آگهی را بارگیری کرده است را دریافت می کند.
getCredentials مجموعه پیکربندی شبکه را از رابط کاربری AdMob دریافت می کند.
getLatencyMillis مقدار زمانی را که شبکه تبلیغات برای بارگذاری یک تبلیغ صرف کرده است را دریافت می کند. در صورت عدم تلاش برای شبکه، 0 را برمی گرداند.

جاوا

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  AdapterResponseInfo loadedAdapterResponseInfo =
      interstitialAd.getResponseInfo().getLoadedAdapterResponseInfo();

  AdError adError = loadedAdapterResponseInfo.getAdError();
  String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
  String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();
  String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
  String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
  String adapterClassName = loadedAdapterResponseInfo.getAdapterClassName();
  Bundle credentials = loadedAdapterResponseInfo.getCredentials();
  long latencyMillis = loadedAdapterResponseInfo.getLatencyMillis();
}

کاتلین

override fun onAdLoaded(interstitialAd: InterstitialAds) {
  val loadedAdapterResponseInfo = interstitialAd.responseInfo.loadedAdapterResponse

  val adError = loadedAdapterResponseInfo.adError
  val adSourceId = loadedAdapterResponseInfo.adSourceId
  val adSourceInstanceId = loadedAdapterResponseInfo.adSourceInstanceId
  val adSourceInstanceName = loadedAdapterResponseInfo.adSourceInstanceName
  val adSourceName = loadedAdapterResponseInfo.adSourceName
  val adapterClassName = loadedAdapterResponseInfo.adapterClassName
  val credentials = loadedAdapterResponseInfo.credentials
  val latencyMillis = loadedAdapterResponseInfo.latencyMillis
}