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

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

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

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

Kotlin

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: شناسه ردیف آگهی انتخابی. فقط برای آگهی‌های رزرو برگردانده شد.

Kotlin

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 را برمی‌گرداند.

Kotlin

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