أرباح الإعلانات على مستوى مرّات الظهور

اختيار النظام الأساسي: Android جديد Android iOS Unity

عند حدوث مرّة ظهور، يقدّم Google Mobile Ads SDK بيانات إيرادات الإعلانات المرتبطة بمرّة الظهور هذه. يمكنك استخدام البيانات لاحتساب القيمة الدائمة للمستخدم، أو إعادة توجيه البيانات إلى الأنظمة الأخرى ذات الصلة.

يهدف هذا الدليل إلى مساعدتك في تنفيذ عملية جمع بيانات إيرادات الإعلانات على مستوى مرّة الظهور في تطبيق Android.

المتطلبات الأساسية

  • استورِد Google Mobile Ads SDK 21.1.0 أو إصدارًا أحدث.

لكلّ شكل إعلان OnPaidEventListener. أثناء دورة حياة حدث إعلان، Google Mobile Ads SDK تراقب أحداث مرّات الظهور وتستدعي المعالج بقيمة محقّقة.

يعالج المثال التالي الأحداث المدفوعة لإعلان مقابل مكافأة:

جافا

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() method اسم مصدر الإعلان 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
}

لمزيد من المعلومات حول مصدر الإعلان الرابح، اطّلِع على استرداد معلومات حول استجابة الإعلان.

عملية التكامل مع شركاء قياس أداء التطبيقات (AAP)

لمعرفة التفاصيل الكاملة حول إعادة توجيه بيانات إيرادات الإعلانات إلى منصّات الإحصاءات، يُرجى الرجوع إلى دليل الشريك:

حزمة تطوير البرامج (SDK) الخاصة بالشريك
Adjust
AppsFlyer
Singular
Tenjin

أفضل الممارسات المتعلّقة بالتنفيذ

  • اضبط المستمع فور إنشاء عنصر الإعلان أو الحصول على إذن الوصول إليه، وقبل عرض الإعلان بالتأكيد. يضمن لك ذلك عدم تفويت أيّ عمليات معاودة الاتصال للأحداث المدفوعة.
  • أرسِل معلومات إيرادات الإعلانات على مستوى مرّة الظهور إلى خادم الإحصاءات المفضّل لديك فور استدعاء عملية معاودة الاتصال للحدث المدفوع. يضمن لك ذلك عدم فقدان أيّ عمليات معاودة اتصال عن طريق الخطأ وتجنُّب التناقضات في البيانات.

AdValue

AdValue هو فئة تمثّل القيمة النقدية المحقّقة للإعلان، بما في ذلك رمز عملة القيمة ونوع دقّتها بترميز على النحو التالي.

PrecisionType الوصف
UNKNOWN قيمة إعلان غير معروفة يتم عرض هذه القيمة عند تفعيل ميزة "القيمة الدائمة" (LTV) لعمليات معاودة الاتصال، ولكن لا تتوفّر بيانات كافية.
ESTIMATED قيمة إعلان مقدّرة من بيانات مجمّعة
PUBLISHER_PROVIDED قيمة الإعلان التي قدّمها الناشر، مثل قيم التكلفة اليدوية لكل ألف ظهور في مجموعة توسّط
PRECISE القيمة الدقيقة المدفوعة مقابل عرض هذا الإعلان

في حالة توسّط AdMob، يحاول AdMob تقديم قيمة ESTIMATED لمصادر الإعلانات المحسّنة. بالنسبة إلى مصادر الإعلانات غير المحسّنة، أو في الحالات التي لا تتوفّر فيها بيانات مجمّعة كافية لعرض تقدير مفيد، يتم عرض القيمة PUBLISHER_PROVIDED.

اختبار مرّات الظهور من مصادر الإعلانات المستندة إلى عروض الأسعار

بعد حدوث حدث إيرادات الإعلانات على مستوى مرّة الظهور لـ مصدر إعلان مستند إلى عروض الأسعار من خلال طلب اختبار، لن تتلقّى سوى القيمتَين التاليتَين:

  • UNKNOWN: تشير إلى نوع الدقة.
  • 0: تشير إلى قيمة الإعلان.

في السابق، ربما كنت ترى نوع الدقة كقيمة أخرى غير UNKNOWN وقيمة إعلان أكبر من 0.

لمعرفة تفاصيل حول إرسال طلب عرض إعلان اختباري، اطّلِع على مقالة تفعيل الأجهزة الاختبارية.