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

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

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

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

  • استورِد حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" 21.1.0 أو إصدارًا أحدث.

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

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

Kotlin

import com.google.android.gms.ads.rewarded.RewardedAd

class MainActivity : AppCompatActivity() {
  private var rewardedAd: RewardedAd? = null
  private final var TAG = "MainActivity"

  override fun onCreate(savedInstanceState: Bundle?) {
    val adRequest = AdRequest.Builder().build()

    RewardedAd.load(this, "AD_UNIT_ID",
      adRequest, object: RewardedAdLoadCallback() {
        override fun onAdLoaded(ad: RewardedAd) {
          rewardedAd = ad
          // Set paid event listener
          rewardedAd.onPaidEventListener = OnPaidEventListener { adValue ->
            // TODO: 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 precision = adValue.precisionType

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

            val loadedAdapterResponseInfo = rewardedAd.responseInfo.loadedAdapterResponse
            val adSourceName = loadedAdapterResponseInfo.adSourceName
            val adSourceId = loadedAdapterResponseInfo.adSourceId
            val adSourceInstanceName = loadedAdapterResponseInfo.adSourceInstanceName
            val adSourceInstanceId = loadedAdapterResponseInfo.adSourceInstanceId
            val extras = rewardedAd.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")
          }
        }
    })
  }
}

Java

import com.google.android.gms.ads.rewarded.RewardedAd;

public class MainActivity extends Activity {
  private RewardedAd rewardedAd;
  private final String TAG = "MainActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    AdRequest adRequest = new AdRequest.Builder().build();

    RewardedAd.load(this, "AD_UNIT_ID",
      adRequest, new RewardedAdLoadCallback(){
        @Override
        public void onAdLoaded(@NonNull RewardedAd ad) {
          rewardedAd = ad;
          // Set paid event listener
          rewardedAd.setOnPaidEventListener(new OnPaidEventListener() {
            @Override
            public void onPaidEvent(AdValue adValue) {
              // TODO: 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 = adValue.getValueMicros();
              String currencyCode = adValue.getCurrencyCode();
              int precision = adValue.getPrecisionType();

              // Get the ad unit ID.
              String adUnitId = rewardedAd.getAdUnitId();
              
              AdapterResponseInfo loadedAdapterResponseInfo = rewardedAd.getResponseInfo().
                  getLoadedAdapterResponseInfo();
              String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
              String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
              String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
              String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();

              Bundle extras = rewardedAd.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");
            }
          });
        }
    });
  }
}

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

دمج شركاء إحالة التطبيقات

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

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

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

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

AdValue

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

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

في ما يتعلّق بتوسّط AdMob، تحاول AdMob تقديم قيمة ESTIMATED لمصادر الإعلانات التي تم تحسينها.

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

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

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

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

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

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