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

برای اهداف اشکال زدایی و ورود به سیستم، تبلیغات با موفقیت بارگذاری شده یک شی 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": "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",
  }
}

متدهای موجود در شی ResponseInfo شامل موارد زیر است:

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

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

getLoadedAdSourceResponse AdSourceResponseInfo مربوط به منبع تبلیغی را که آگهی را بارگیری کرده است برمی گرداند.
getAdapterClassName نام کلاس آداپتور میانجی منبع تبلیغی را که آگهی را بارگیری کرده است، برمی‌گرداند.
getResponseId شناسه پاسخ یک شناسه منحصر به فرد برای پاسخ آگهی است. از این شناسه می توان برای شناسایی و مسدود کردن آگهی در مرکز بررسی آگهی (ARC) استفاده کرد.
getResponseExtras اطلاعات اضافی درباره پاسخ آگهی را برمی گرداند. موارد اضافی ممکن است کلیدهای زیر را برگردانند:
  • creative_id : شناسه خلاق آگهی انتخاب شده. فقط برای تبلیغات رزرو برگردانده شده است.
  • line_item_id : شناسه مورد خط آگهی انتخابی. فقط برای تبلیغات رزرو برگردانده شده است.

کاتلین

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

  val responseId = responseInfo.responseId
  val adapterClassName = responseInfo.adapterClassName
  val adSourceResponses = responseInfo.adSourceResponses
  val loadedAdSourceResponse = responseInfo.loadedAdSourceResponse
  val extras = responseInfo.responseExtras
  val creativeId = extras.getString("creative_id")
  val lineItemId = extras.getString("line_item_id")
}

جاوا

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

  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  String responseId = responseInfo.getResponseId();
  String adapterClassName = responseInfo.getAdapterClassName();
  List<AdSourceResponseInfo> adSourceResponses = responseInfo.getAdSourceResponses();
  AdSourceResponseInfo loadedAdSourceResponse = responseInfo.getLoadedAdSourceResponse();
  Bundle extras = responseInfo.getResponseExtras();
  String creativeId = extras.getString("creative_id");
  String lineItemId = extras.getString("line_item_id");
}

اطلاعات پاسخ منبع آگهی

AdSourceResponseInfo حاوی اطلاعات پاسخ برای یک منبع آگهی فردی در پاسخ آگهی است.

نمونه خروجی AdSourceResponseInfo زیر، فراداده یک آگهی بارگذاری شده را نشان می دهد:

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

برای هر منبع تبلیغ، AdSourceResponseInfo روش های زیر را ارائه می دهد:

روش توضیحات
getAdError خطای مربوط به درخواست به منبع آگهی را دریافت می کند. اگر منبع تبلیغ با موفقیت یک تبلیغ را بارگیری کند یا اگر منبع تبلیغ تلاش نشده باشد، null برمی گردد.
getId شناسه منبع آگهی مرتبط با این پاسخ منبع آگهی را دریافت می کند.
getInstanceId شناسه نمونه منبع آگهی مرتبط با این پاسخ آداپتور را دریافت می کند.
getInstanceName نام نمونه منبع تبلیغ مرتبط با این پاسخ آداپتور را دریافت می کند.
getName نام منبع تبلیغ مرتبط با این پاسخ آداپتور را دریافت می کند.
getAdapterClassName نام کلاس آداپتور منبع آگهی که آگهی را بارگیری کرده است را دریافت می کند.
getCredentials اعتبار آداپتور منبع آگهی مشخص شده در رابط کاربری Ad Manager را دریافت می کند.
getLatencyMillis مقدار زمانی را که آداپتور منبع تبلیغ برای بارگیری آگهی صرف کرده است، دریافت می کند. اگر منبع تبلیغ تلاش نشده باشد، 0 برمی گرداند.

کاتلین

override fun onAdLoaded(interstitialAd: InterstitialAds) {
  val loadedAdSourceResponseInfo = interstitialAd.responseInfo.loadedAdSourceResponse

  val adError = loadedAdSourceResponseInfo.adError
  val adSourceId = loadedAdSourceResponseInfo.id
  val adSourceInstanceId = loadedAdSourceResponseInfo.instanceId
  val adSourceInstanceName = loadedAdSourceResponseInfo.instanceName
  val adSourceName = loadedAdSourceResponseInfo.name
  val adapterClassName = loadedAdSourceResponseInfo.adapterClassName
  val credentials = loadedAdSourceResponseInfo.credentials
  val latencyMillis = loadedAdSourceResponseInfo.latencyMillis
}

جاوا

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  AdSourceResponseInfo loadedAdSourceResponseInfo =
      interstitialAd.getResponseInfo().getLoadedAdSourceResponse();

  AdError adError = loadedAdSourceResponseInfo.getAdError();
  String adSourceId = loadedAdSourceResponseInfo.getId();
  String adSourceInstanceId = loadedAdSourceResponseInfo.getInstanceId();
  String adSourceInstanceName = loadedAdSourceResponseInfo.getInstanceName();
  String adSourceName = loadedAdSourceResponseInfo.getName();
  String adapterClassName = loadedAdSourceResponseInfo.getAdapterClassName();
  Bundle credentials = loadedAdSourceResponseInfo.getCredentials();
  long latencyMillis = loadedAdSourceResponseInfo.getLatencyMillis();
}