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

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

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

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

يحتوي كل شكل من أشكال الإعلانات على onAdPaid دالة ردّ لحدث معيّن. أثناء دورة حياة حدث الإعلان، تراقب حزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة (الإصدار التجريبي) أحداث مرات الظهور وتستدعي أداة المعالجة بقيمة مكتسبة.

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

Kotlin

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

Java

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. اضبط اسمًا فريدًا لمصدر الإعلان.

يضبط المثال التالي اسمًا فريدًا لمصدر الإعلان لحدث مخصّص:

Kotlin

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
}

Java

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

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

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

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

Partner SDK
Adjust
AppsFlyer
Singular
Tenjin

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

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

AdValue

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

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

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

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

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

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

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

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