Pendapatan iklan tingkat tayangan iklan

Saat tayangan terjadi, Google Mobile Ads SDK akan memberikan data pendapatan iklan yang terkait dengan tayangan tersebut. Anda dapat menggunakan data tersebut untuk menghitung nilai lifetime pengguna, atau meneruskan data ke downstream ke sistem relevan lainnya.

Panduan ini bertujuan untuk membantu Anda menerapkan pengambilan data pendapatan iklan tingkat tayangan iklan di aplikasi Android.

Prasyarat

  • Impor Google Mobile Ads SDK 21.1.0 atau yang lebih tinggi.

Setiap format iklan memiliki OnPaidEventListener. Selama siklus proses peristiwa iklan, Google Mobile Ads SDK memantau peristiwa tayangan iklan dan memanggil pengendali dengan nilai yang diperoleh.

Contoh berikut menangani peristiwa berbayar untuk iklan reward:

Java

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

Mengidentifikasi nama sumber iklan peristiwa kustom

Untuk sumber iklan peristiwa kustom, metode getAdSourceName()akan menampilkan nama sumber iklan Custom event. Jika Anda menggunakan beberapa peristiwa kustom, nama sumber iklan tidak cukup mendetail untuk membedakan beberapa peristiwa kustom. Untuk menemukan peristiwa kustom tertentu, lakukan hal berikut:

  1. Panggil metode getAdSourceName().
  2. Tetapkan nama sumber iklan yang unik.

Contoh berikut menetapkan nama sumber iklan yang unik untuk peristiwa kustom:

Java

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
}

Untuk mengetahui informasi selengkapnya tentang sumber iklan yang menang, lihat Mengambil informasi tentang respons iklan.

Integrasi Partner Atribusi Aplikasi (AAP)

Untuk mengetahui detail lengkap tentang cara meneruskan data pendapatan iklan ke platform analisis, lihat panduan partner:

SDK Partner
Adjust
AppsFlyer
Singular
Tenjin

Praktik terbaik penerapan

  • Tetapkan pemroses segera setelah Anda membuat atau mendapatkan akses ke objek iklan, dan pastikan sebelum menampilkan iklan. Hal ini memastikan Anda tidak melewatkan callback peristiwa berbayar.
  • Kirim informasi pendapatan iklan tingkat tayangan iklan ke server analisis pilihan Anda segera saat callback peristiwa berbayar dipanggil. Hal ini memastikan Anda tidak secara tidak sengaja menghapus callback dan menghindari perbedaan data.

AdValue

AdValue adalah class yang mewakili nilai uang yang diperoleh untuk iklan, termasuk kode mata uang nilai dan jenis presisinya yang dienkode sebagai berikut.

PrecisionType Deskripsi
UNKNOWN Nilai iklan yang tidak diketahui. Nilai ini akan ditampilkan saat pingback LTV diaktifkan , tetapi tidak ada cukup data yang tersedia.
ESTIMATED Nilai iklan yang diperkirakan dari data gabungan.
PUBLISHER_PROVIDED Nilai iklan yang diberikan penayang, seperti CPM manual dalam grup mediasi.
PRECISE Nilai akurat yang dibayarkan untuk iklan ini.

Dalam kasus Mediasi AdMob, AdMob mencoba untuk memberikan nilai ESTIMATED untuk sumber iklan yang di optimalkan. Untuk sumber iklan yang tidak dioptimalkan, atau jika tidak ada cukup data gabungan untuk melaporkan estimasi yang bermakna, nilai PUBLISHER_PROVIDED akan ditampilkan.

Menguji tayangan iklan dari sumber iklan bidding

Setelah peristiwa pendapatan iklan tingkat tayangan iklan terjadi untuk sumber iklan bidding melalui permintaan pengujian, Anda hanya akan menerima nilai berikut:

  • UNKNOWN: menunjukkan jenis presisi.
  • 0: menunjukkan nilai iklan.

Sebelumnya, Anda mungkin melihat jenis presisi sebagai nilai selain UNKNOWN dan nilai iklan lebih dari 0.

Untuk mengetahui detail tentang cara mengirim permintaan iklan pengujian, lihat Mengaktifkan perangkat pengujian.