Pendapatan iklan tingkat tayangan

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

Panduan ini dimaksudkan 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 baru.

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

Contoh berikut menangani peristiwa berbayar untuk iklan reward:

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

Untuk informasi selengkapnya tentang sumber iklan pemenang, lihat Mengambil informasi tentang respons iklan.

Integrasi Partner Atribusi Aplikasi (AAP)

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

Partner SDK
Adjust
AppsFlyer
Singular
Tenjin

Praktik terbaik penerapan

  • Tetapkan pemroses segera setelah Anda membuat atau mendapatkan akses ke objek iklan, dan tentu saja sebelum menampilkan iklan. Tindakan ini memastikan bahwa 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 seperti di bawah.

PrecisionType Deskripsi
UNKNOWN Nilai iklan yang tidak diketahui. Nilai ini ditampilkan saat pingback LTV diaktifkan, tetapi tidak ada cukup data yang tersedia.
ESTIMATED Estimasi: 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 memberikan nilai ESTIMATED untuk sumber iklan yang dioptimalkan.

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 telah 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.