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
- Pastikan Anda telah mengaktifkan fitur pendapatan iklan tingkat tayangan iklan di UI AdMob.
- Impor Google Mobile Ads SDK 21.1.0 atau yang lebih baru.
- Selesaikan Panduan memulai.
Sebelum dapat menerima pendapatan iklan tingkat tayangan iklan, Anda harus menerapkan setidaknya satu format iklan:
Pengendali peristiwa berbayar
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.
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.