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

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

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

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

کاتلین

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())
}

جاوا

@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());
}

اطلاعات پاسخ

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

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

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

کاتلین

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

جاوا

@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");
}

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

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 fun onAdLoaded(interstitialAd: InterstitialAds) {
  val loadedAdapterResponseInfo = interstitialAd.responseInfo.loadedAdapterResponseInfo

  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
}

جاوا

@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();
}