درآمد تبلیغات در سطح نمایش

وقتی یک نمایش (impression) رخ می‌دهد، GMA Next Gen SDK داده‌های درآمد تبلیغاتی مرتبط با آن نمایش را ارائه می‌دهد. می‌توانید از این داده‌ها برای محاسبه ارزش طول عمر کاربر استفاده کنید یا داده‌ها را به سایر سیستم‌های مرتبط ارسال کنید.

این راهنما برای کمک به شما در پیاده‌سازی جمع‌آوری داده‌های درآمد تبلیغات در سطح نمایش در برنامه اندروید شما در نظر گرفته شده است.

پیش‌نیازها

هر قالب تبلیغاتی دارای یک رویداد فراخوانی onAdPaid است. در طول چرخه حیات یک رویداد تبلیغاتی، GMA Next Gen SDK رویدادهای نمایش را رصد می‌کند و با یک مقدار کسب‌شده، کنترل‌کننده را فراخوانی می‌کند.

مثال زیر رویدادهای پولی را برای یک تبلیغ جایزه‌دار مدیریت می‌کند:

کاتلین

ad.adEventCallback =
  object : RewardedAdEventCallback {
    override fun onAdPaid(adValue: AdValue) {
      // Send the impression-level ad revenue information to your
      // preferred analytics server directly within this callback.

      // Extract the impression-level ad revenue data.
      val valueMicros = adValue.valueMicros
      val currencyCode = adValue.currencyCode
      val precisionType = adValue.precisionType

      val loadedAdSourceResponseInfo = ad.getResponseInfo().loadedAdSourceResponseInfo
      val adSourceName = loadedAdSourceResponseInfo?.name
      val adSourceId = loadedAdSourceResponseInfo?.id
      val adSourceInstanceName = loadedAdSourceResponseInfo?.instanceName
      val adSourceInstanceId = loadedAdSourceResponseInfo?.instanceId
      val extras = ad.getResponseInfo().responseExtras
      val mediationGroupName = extras.getString("mediation_group_name")
      val mediationABTestName = extras.getString("mediation_ab_test_name")
      val mediationABTestVariant = extras.getString("mediation_ab_test_variant")
    }
  }

جاوا

ad.setAdEventCallback(
    new RewardedAdEventCallback() {
      @Override
      public void onAdPaid(@NonNull AdValue value) {
        // Send the impression-level ad revenue information to your preferred
        // analytics server directly within this callback.

        // Extract the impression-level ad revenue data.
        long valueMicros = value.getValueMicros();
        String currencyCode = value.getCurrencyCode();
        PrecisionType precisionType = value.getPrecisionType();

        AdSourceResponseInfo loadedAdSourceResponseInfo =
            ad.getResponseInfo().getLoadedAdSourceResponseInfo();
        String adSourceName = loadedAdSourceResponseInfo.getName();
        String adSourceId = loadedAdSourceResponseInfo.getId();
        String adSourceInstanceName = loadedAdSourceResponseInfo.getInstanceName();
        String adSourceInstanceId = loadedAdSourceResponseInfo.getInstanceId();

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

یک نام منبع تبلیغات رویداد سفارشی را شناسایی کنید

برای منابع تبلیغاتی رویدادهای سفارشی، ویژگی AdSourceResponseInfo.name نام منبع تبلیغاتی Custom event را برمی‌گرداند. اگر از چندین رویداد سفارشی استفاده می‌کنید، نام منبع تبلیغاتی به اندازه کافی جزئی نیست که بتواند بین چندین رویداد سفارشی تمایز قائل شود. برای یافتن یک رویداد سفارشی خاص، مراحل زیر را انجام دهید:

  1. ویژگی AdSourceResponseInfo.name را دریافت کنید.
  2. یک نام منحصر به فرد برای منبع تبلیغات تنظیم کنید.

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

کاتلین

private fun getUniqueAdSourceName(loadedAdapterResponseInfo: AdSourceResponseInfo): String {
  var adSourceName = loadedAdapterResponseInfo.name
  if (adSourceName == "Custom Event") {
    if (
      loadedAdapterResponseInfo.adapterClassName ==
        "com.google.ads.mediation.sample.customevent.SampleCustomEvent"
    ) {
      adSourceName = "Sample Ad Network (Custom Event)"
    }
  }
  return adSourceName
}

جاوا

private String getUniqueAdSourceName(@NonNull AdSourceResponseInfo loadedAdapterResponseInfo) {
  String adSourceName = loadedAdapterResponseInfo.getName();
  if (adSourceName.equals("Custom Event")) {
    if (loadedAdapterResponseInfo
        .getAdapterClassName()
        .equals("com.google.ads.mediation.sample.customevent.SampleCustomEvent")) {
      adSourceName = "Sample Ad Network (Custom Event)";
    }
  }
  return adSourceName;
}

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

ادغام App Attribution Partners (AAP).

برای جزئیات کامل در مورد ارسال داده‌های درآمد تبلیغات به پلتفرم‌های تحلیلی، به راهنمای همکار مراجعه کنید:

SDK شریک
تنظیم
اپلیکیشن فلایر
مفرد
تنجین

بهترین شیوه‌های پیاده‌سازی

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

ارزش تبلیغات

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

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

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

میزان نمایش تبلیغات از منابع تبلیغاتی پیشنهاد قیمت را آزمایش کنید

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

  • UNKNOWN : نوع دقت را نشان می‌دهد.
  • 0 : نشان‌دهنده ارزش تبلیغ است.

پیش از این، ممکن است نوع دقت را به عنوان مقداری غیر از UNKNOWN و مقدار ad را بیشتر از 0 دیده باشید.

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