درآمد آگهی سطح ظهور

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

وقتی ظهوری رخ می‌دهد، Google Mobile Ads SDK (Legacy) داده‌های درآمد آگهی مرتبط با آن ظهور را ارائه می‌دهد. می‌توانید از داده‌ها برای محاسبه مقدار طول عمر کاربر استفاده کنید، یا داده‌ها را به سیستم‌های مرتبط دیگر ارسال کنید.

این راهنما برای کمک به شما در پیاده‌سازی داده‌های درآمد آگهی سطح ظهور در برنامه Android شما طراحی شده است.

پیش‌نیازها

  • ‫Import Google Mobile Ads SDK (Legacy) نسخه ۲۱.۱.۰ یا بالاتر.

هر قالب آگهی OnPaidEventListener دارد. درطول چرخه عمر رویداد آگهی، Google Mobile Ads SDK (Legacy) رویدادهای ظهور را پایش می‌کند و کارپرداز را با مقدار کسب‌شده فرا می‌خواند.

مثال زیر رویدادهای پولی را برای آگهی پاداش‌دار مدیریت می‌کند:

جاوا

private void setOnPaidEventListener(RewardedAd ad) {
  ad.setOnPaidEventListener(
      new OnPaidEventListener() {
        @Override
        public void onPaidEvent(@NonNull AdValue adValue) {
          // Extract the impression-level ad revenue data.
          long valueMicros = adValue.getValueMicros();
          String currencyCode = adValue.getCurrencyCode();
          int precision = adValue.getPrecisionType();

          // Get the ad unit ID.
          String adUnitId = ad.getAdUnitId();

          // Extract ad response information.
          AdapterResponseInfo loadedAdapterResponseInfo =
              ad.getResponseInfo().getLoadedAdapterResponseInfo();
          if (loadedAdapterResponseInfo != null) {
            String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
            String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
            String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
            String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();

            Bundle extras = ad.getResponseInfo().getResponseExtras();
            String mediationGroupName = extras.getString("mediation_group_name");
            String mediationABTestName = extras.getString("mediation_ab_test_name");
            String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
          }
        }
      });
}

Kotlin

private fun setOnPaidEventListener(ad: RewardedAd) {
  ad.onPaidEventListener = OnPaidEventListener { adValue ->
    // Extract the impression-level ad revenue data.
    val valueMicros = adValue.valueMicros
    val currencyCode = adValue.currencyCode
    val precision = adValue.precisionType

    // Get the ad unit ID.
    val adUnitId = ad.adUnitId

    // Extract ad response information.
    val loadedAdapterResponseInfo = ad.responseInfo.loadedAdapterResponseInfo
    val adSourceName = loadedAdapterResponseInfo?.adSourceName
    val adSourceId = loadedAdapterResponseInfo?.adSourceId
    val adSourceInstanceName = loadedAdapterResponseInfo?.adSourceInstanceName
    val adSourceInstanceId = loadedAdapterResponseInfo?.adSourceInstanceId
    val extras = ad.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")
  }
}

نام منبع آگهی رویداد سفارشی را شناسایی کنید

برای منابع آگهی رویداد سفارشی، روش getAdSourceName() نام منبع آگهی Custom event را برمی‌گرداند. اگر از چندین رویداد سفارشی استفاده می‌کنید، نام منبع آگهی به‌اندازه کافی جزئی نیست تا بین چندین رویداد سفارشی تمایز قائل شود. برای پیدا کردن رویداد سفارشی خاص، این کارها را انجام دهید:

  1. روش getAdSourceName() را فراخوانی کنید.
  2. نام منحصربه‌فردی برای منبع آگهی تنظیم کنید.

مثال زیر نام منحصربه‌فردی برای منبع آگهی رویداد سفارشی تنظیم می‌کند:

جاوا

private String getUniqueAdSourceName(@NonNull AdapterResponseInfo loadedAdapterResponseInfo) {

  String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
  if (adSourceName.equals("Custom Event")) {
    if (loadedAdapterResponseInfo
        .getAdapterClassName()
        .equals("com.google.ads.mediation.sample.customevent.SampleCustomEvent")) {
      adSourceName = "Sample Ad Network (Custom Event)";
    }
  }
  return adSourceName;
}

Kotlin

private fun getUniqueAdSourceName(loadedAdapterResponseInfo: AdapterResponseInfo): String {

  var adSourceName = loadedAdapterResponseInfo.adSourceName
  if (adSourceName == "Custom Event") {
    if (
      loadedAdapterResponseInfo.adapterClassName ==
        "com.google.ads.mediation.sample.customevent.SampleCustomEvent"
    ) {
      adSourceName = "Sample Ad Network (Custom Event)"
    }
  }
  return adSourceName
}

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

روال‌های مطلوب پیاده‌سازی

  • شنونده را بلافاصله پس‌از ایجاد یا دسترسی به شیء آگهی تنظیم کنید، و قطعاً قبل‌از نمایش آگهی. این کار تضمین می‌کند که هیچ‌یک از بازخوان‌های رویداد پولی را ازدست ندهید.
  • اطلاعات درآمد آگهی سطح ظهور را بلافاصله در زمان فراخوانی برگشت رویداد پولی به سرور Analytics ترجیحی‌تان ارسال کنید. این کار باعث می‌شود که به‌طور تصادفی هیچ‌کدام از تماس‌های برگشتی را ازدست ندهید و از اختلاف داده‌ها جلوگیری می‌کند.

AdValue

‫AdValue کلاسی است که نشان‌دهنده مقدار پولی کسب‌شده برای آگهی است، ازجمله کد واحد پول مقدار و نوع دقت آن که به‌صورت زیر کدبندی شده است.

PrecisionType شرح
UNKNOWN مقدار آگهی که ناشناخته است. وقتی که برگشتی پینگ LTV فعال باشد اما داده‌های کافی دردسترس نباشد، این مقدار برگردانده می‌شود.
ESTIMATED مقدار آگهی تخمینی از داده‌های تجمیعی.
PUBLISHER_PROVIDED مقدار آگهی ارائه‌شده توسط ناشر، مانند هزارظهوربهای دستی در گروه واسطه‌گری.
PRECISE مقدار دقیق پرداخت‌شده برای این آگهی.

در مورد میانجی‌گری، Ad Manager تلاش می‌کند برای منابع آگهی که جمع‌آوری خودکار داده‌ها را فعال کرده‌اند، مقدار ESTIMATED ارائه دهد. برای منابع آگهی بهینه‌سازی‌نشده، یا در مواردی که داده‌های انبوه‌سازی‌شده کافی برای گزارش تخمین معنادار وجود ندارد، مقدار PUBLISHER_PROVIDED برگردانده می‌شود.

ظهورهای آزمایشی از «پیشنهاد قیمت باز»

پس‌از اینکه رویداد درآمد آگهی سطح ظهور برای منبع آگهی «پیشنهاد قیمت باز» ازطریق درخواست آزمایش رخ داد، فقط مقادیر زیر را دریافت می‌کنید:

  • ‫UNKNOWN: نوع دقت را نشان می‌دهد.
  • ‫0: نشان‌دهنده مقدار آگهی است.
قبلاً، ممکن است نوع دقت را به‌عنوان مقداری غیر از UNKNOWN و مقدار آگهی را بیشتر از 0 دیده باشید.

برای جزئیات ارسال درخواست آگهی آزمایشی، به فعال کردن دستگاه‌های آزمایشی مراجعه کنید.