Panduan ini menunjukkan cara menggunakan Google Mobile Ads SDK untuk memuat dan menampilkan iklan dari Liftoff Monetize menggunakan mediasi, yang mencakup integrasi bidding dan waterfall. Panduan ini membahas cara menambahkan Liftoff Memonetisasi ke konfigurasi mediasi unit iklan, dan cara mengintegrasikannya Vungle SDK dan adaptor ke dalam Android aplikasi.
Integrasi dan format iklan yang didukung
Adaptor mediasi untuk Liftoff Monetize memiliki kemampuan berikut:
Integrasi | |
---|---|
Bidding | 1 |
Air Terjun | |
Format | |
Membuka Aplikasi | |
Banner | |
Interstisial | |
Reward | |
Interstisial Reward | 3 |
Native | 2 |
1 Integrasi bidding masih dalam versi beta terbuka.
2 Bidding integrasi untuk format ini masih dalam versi beta tertutup.
3 Reward
interstisial memerlukan bantuan penyiapan. Hubungi akun Anda
di Liftoff Monetize atau monetize@liftoff.io
.
Persyaratan
Android API level 21 atau yang lebih tinggi
Google Mobile Ads SDK terbaru
Selesaikan mediasi Panduan memulai
Langkah 1: Siapkan konfigurasi di UI Liftoff Monetize
Langkah 2: Siapkan permintaan Liftoff Monetize di Ad Manager UI
Tambahkan Liftoff ke daftar partner iklan peraturan negara bagian Amerika Serikat dan GDPR
Ikuti langkah-langkah di Setelan GDPR dan Setelan peraturan negara bagian AS untuk menambahkan Liftoff ke daftar partner iklan peraturan negara bagian AS dan GDPR di UI Ad Manager .
Langkah 3: Impor Vungle SDK dan adaptor
Integrasi Android Studio (direkomendasikan)
Di file build.gradle.kts
tingkat aplikasi, tambahkan penerapan berikut
dependensi, dan konfigurasi. Menggunakan Vungle SDK versi terbaru
dan adaptor:
dependencies {
implementation("com.google.android.gms:play-services-ads:23.3.0")
implementation("com.google.ads.mediation:vungle:7.4.0.1")
}
Integrasi manual
Download Vungle Android SDK terbaru dan ekstrak file
.jar
di bawah folderlibs
dan tambahkan ke proyek.Buka Artefak adaptor Liftoff Monetize di Repositori Maven Google. Pilih versi terbaru, download Vungle file
.aar
adaptor, lalu menambahkannya ke project Anda.
Langkah 4: Terapkan setelan privasi di Liftoff Monetize SDK
Izin Uni Eropa dan GDPR
Berdasarkan Izin Pengguna Uni Eropa Google Google Ads, Anda harus memastikan bahwa pengungkapan tertentu diberikan kepada, dan izin yang diperoleh dari, pengguna di Wilayah Ekonomi Eropa (EEA) terkait penggunaan ID perangkat dan data pribadi. Kebijakan ini mencerminkan persyaratan dalam ePrivacy Directive dan General Data Protection Uni Eropa Peraturan (GDPR). Saat meminta izin, Anda harus mengidentifikasi setiap jaringan iklan dalam rantai mediasi Anda yang dapat mengumpulkan, menerima, atau menggunakan data pribadi, dan menyediakan informasi tentang penggunaan setiap jaringan. Google saat ini tidak dapat meneruskan pilihan izin pengguna ke jaringan tersebut secara otomatis.
Liftoff Monetize menyertakan API yang memungkinkan Anda meneruskan izin ke Vungle SDK. Kode contoh berikut menunjukkan cara meneruskan informasi izin ini ke SDK Vungle. Jika Anda memilih untuk memanggil metode ini, sebaiknya lakukan sebelum meminta iklan melalui Google Mobile Ads SDK.
Java
import com.vungle.ads.VunglePrivacySettings;
// ...
VunglePrivacySettings.setGDPRStatus(true, "v1.0.0");
Kotlin
import com.vungle.ads.VunglePrivacySettings
// ...
VunglePrivacySettings.setGDPRStatus(true, "v1.0.0")
Lihat petunjuk penerapan yang direkomendasikan GDPR untuk detail selengkapnya dan nilai yang dapat diberikan dalam metode ini.
Hukum privasi negara bagian Amerika Serikat
Amerika Serikat hukum privasi negara bagian harus memberikan izin yang tepat kepada pengguna untuk memilih tidak ikut dalam "penjualan" "informasi pribadi" mereka (sebagaimana ditentukan oleh hukum persyaratan tersebut), dengan pilihan tidak ikut yang ditawarkan melalui iklan "Jangan Jual Pribadi Saya" Informasi" tautan di bagian "penjualan" beranda pihak ketiga. Tujuan Amerika Serikat privasi status panduan kepatuhan hukum menawarkan kemampuan untuk pemrosesan data yang dibatasi untuk penayangan iklan Google, tetapi Google tidak dapat menerapkan setelan ini ke setiap iklan dalam rantai mediasi Anda. Oleh karena itu, Anda harus mengidentifikasi setiap jaringan iklan dalam rantai mediasi Anda yang dapat berpartisipasi dalam penjualan aset dan mengikuti panduan dari masing-masing jaringan tersebut untuk memastikan kepatuhan.
Liftoff Monetize menyertakan API yang memungkinkan Anda meneruskan izin ke Vungle SDK. Kode contoh berikut menunjukkan cara meneruskan informasi izin ini ke SDK Vungle. Jika Anda memilih untuk memanggil metode ini, sebaiknya lakukan sebelum meminta iklan melalui Google Mobile Ads SDK.
Java
import com.vungle.ads.VunglePrivacySettings;
// ...
VunglePrivacySettings.setCCPAStatus(true);
Kotlin
import com.vungle.ads.VunglePrivacySettings
// ...
VunglePrivacySettings.setCCPAStatus(true)
Lihat penerapan CCPA untuk detail selengkapnya dan nilai yang dapat diberikan dalam metode ini.
Langkah 5: Tambahkan kode yang diperlukan
Tidak perlu kode tambahan untuk integrasi Liftoff Monetize.
Langkah 6: Uji penerapan
Aktifkan iklan percobaan
Pastikan Anda mendaftarkan perangkat pengujian Anda untuk Ad Manager dan mengaktifkan mode pengujian di Liftoff Monetize UI.
Memverifikasi iklan percobaan
Untuk memverifikasi bahwa Anda menerima iklan pengujian dari Liftoff Monetize, aktifkan pengujian sumber iklan tunggal di pemeriksa iklan menggunakan Liftoff Monetize (Bidding) and Liftoff Monetize (Waterfall) sumber iklan.
Langkah opsional
Parameter khusus jaringan
Adaptor Liftoff Monetize mendukung permintaan tambahan berikut parameter yang dapat diteruskan ke adaptor:
userId
- String yang mewakili ID Pengguna dengan Insentif Liftoff Monetize.
adOrientation
- Bilangan bulat yang menentukan orientasi presentasi untuk iklan layar penuh.
Berikut adalah contoh kode cara membuat permintaan iklan yang menetapkan parameter tersebut:
Java
Bundle extras = new Bundle();
extras.putString(VungleConstants.KEY_USER_ID, "myUserID");
extras.putInt(VungleConstants.KEY_ORIENTATION, 1);
AdManagerAdRequest request = new AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(VungleAdapter.class, extras) // Rewarded.
.addNetworkExtrasBundle(VungleInterstitialAdapter.class, extras) // Interstitial.
.build();
Kotlin
val extras = Bundle()
extras.putString(VungleConstants.KEY_USER_ID, "myUserID")
extras.putInt(VungleConstants.KEY_ORIENTATION, 1)
val request = AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(VungleAdapter::class, extras) // Rewarded.
.addNetworkExtrasBundle(VungleInterstitialAdapter.class, extras) // Interstitial.
.build()
Rendering iklan native
Adaptor Liftoff Monetize menampilkan iklan native-nya sebagai
NativeAd
objek terstruktur dalam jumlah besar. Kolom ini mengisi hal-hal berikut
kolom
untuk
NativeAd
.
Kolom | Aset selalu disertakan oleh adaptor Liftoff Monetize |
---|---|
Judul | |
Gambar | 1 |
Tampilan media | |
Isi | |
Ikon aplikasi | |
Pesan ajakan (CTA) | |
Rating bintang | |
Toko | |
Harga |
1 Monetisasi Liftoff
adaptor tidak menyediakan akses langsung ke aset gambar utama untuk
iklan. Sebagai gantinya, adaptor mengisi
MediaView
dengan video atau gambar.
Kode error
Jika adaptor gagal menerima iklan dari Liftoff Monetize, penayang dapat
periksa error yang mendasar dari respons iklan menggunakan
ResponseInfo.getAdapterResponses()
dalam class berikut:
Format | Nama kelas |
---|---|
Layar Pembuka Aplikasi (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
Layar Pembuka Aplikasi (Waterfall) | com.google.ads.mediation.vungle.VungleMediationAdapter |
Banner (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
Banner (Waterfall) | com.vungle.mediation.VungleInterstitialAdapter |
Interstisial (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
Interstisial (Waterfall) | com.vungle.mediation.VungleInterstitialAdapter |
Reward (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
Reward (Waterfall) | com.vungle.mediation.VungleAdapter |
Interstisial Reward (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
Interstisial Reward (Waterfall) | com.google.ads.mediation.vungle.VungleMediationAdapter |
Native (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
Native (Waterfall) | com.google.ads.mediation.vungle.VungleMediationAdapter |
Berikut adalah kode dan pesan yang menyertainya yang ditampilkan oleh Liftoff Monetize adaptor saat iklan gagal dimuat:
Kode error | Domain | Alasan |
---|---|---|
101 | com.google.ads.mediation.vungle | Parameter server tidak valid (misalnya, ID aplikasi atau ID penempatan). |
102 | com.google.ads.mediation.vungle | Ukuran banner yang diminta tidak dipetakan ke iklan Liftoff Monetize yang valid ukuran. |
103 | com.google.ads.mediation.vungle | Liftoff Monetize memerlukan Activity konteks untuk diminta
iklan. |
104 | com.google.ads.mediation.vungle | Vungle SDK tidak dapat memuat beberapa iklan untuk penempatan yang sama ke ID. |
105 | com.google.ads.mediation.vungle | Vungle SDK gagal diinisialisasi. |
106 | com.google.ads.mediation.vungle | Vungle SDK menampilkan callback pemuatan yang berhasil, tetapi Banners.getBanner() atau Vungle.getNativeAd() mengembalikan nol. |
107 | com.google.ads.mediation.vungle | Vungle SDK belum siap memutar iklan. |
108 | com.google.ads.mediation.vungle | Vungle SDK menampilkan token bidding yang tidak valid. |
Untuk error yang berasal dari Vungle SDK, lihat Kode Error: Vungle SDK for iOS and Android.
Log Perubahan Adaptor Mediasi Android Liftoff
Versi 7.4.0.1
- Menambahkan dukungan ukuran iklan kustom untuk bidding dan iklan banner waterfall.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 23.2.0.
- Vungle SDK versi 7.4.0.
Versi 7.4.0.0
- Memperluas class
VungleInterstitialAdapter
dariVungleMediationAdapter
guna menambahkan dukungan waterfall untuk format iklan di layar pembuka aplikasi di Google Ad Manager. - Kompatibilitas yang telah diverifikasi dengan Vungle SDK 7.4.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 23.2.0.
- Vungle SDK versi 7.4.0.
Versi 7.3.2.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 7.3.2.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 23.0.0.
- Vungle SDK versi 7.3.2.
Versi 7.3.1.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 7.3.1.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 23.0.0.
- Vungle SDK versi 7.3.1.
Versi 7.3.0.0
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 23.0.0.
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 7.3.0.
- Menambahkan dukungan waterfall dan bidding untuk format iklan di layar pembuka aplikasi.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 23.0.0.
- Vungle SDK versi 7.3.0.
Versi 7.1.0.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 7.1.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 22.3.0.
- Vungle SDK versi 7.1.0.
Versi 7.0.0.1
- Memperbaiki masalah Google Mobile Ads SDK yang tidak mencatat tayangan iklan native bidding.
- Mengembalikan adaptor agar bergantung pada Google Mobile Ads SDK versi 22.3.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 22.3.0.
- Vungle SDK versi 7.0.0.
Versi 7.0.0.0
- Menambahkan dukungan untuk memuat beberapa iklan dengan ID penempatan yang sama untuk semua format iklan waterfall.
- Nama adaptor di-rebranding dari Vungle menjadi Liftoff Monetize.
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 7.0.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 22.4.0.
- Vungle SDK versi 7.0.0.
Versi 6.12.1.1
- Memperbarui adaptor untuk menggunakan class
VersionInfo
baru. - Versi minimum Google Mobile Ads SDK yang diperlukan telah diupdate ke 22.0.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 22.0.0.
- Vungle SDK versi 6.12.1.
Versi 6.12.1.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.12.1.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 21.4.0.
- Vungle SDK versi 6.12.1.
Versi 6.12.0.1
- Menambahkan dukungan bidding untuk format iklan banner.
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.12.0.
- Versi minimum Google Mobile Ads SDK yang diperlukan telah diupdate ke 21.4.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 21.4.0.
- Vungle SDK versi 6.12.0.
Versi 6.12.0.0
- Menambahkan dukungan bidding dan mediasi waterfall untuk format iklan interstisial reward.
- Menambahkan dukungan bidding untuk format iklan native.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 21.1.0.
- Vungle SDK versi 6.12.0.
Versi 6.11.0.3
- Menambahkan dukungan mediasi waterfall untuk format iklan native.
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 21.1.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 21.1.0.
- Vungle SDK versi 6.11.0.
Versi 6.11.0.2
- Menambahkan dukungan untuk memuat beberapa iklan untuk ID penempatan yang sama dalam iklan bidding reward.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 21.0.0.
- Vungle SDK versi 6.11.0.
Versi 6.11.0.1
compileSdkVersion
dantargetSdkVersion
telah diupdate ke API 31.- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 21.0.0.
- Mengupdate level API Android minimum yang diperlukan ke 19.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 21.0.0.
- Vungle SDK versi 6.11.0.
Versi 6.11.0.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.11.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 20.6.0.
- Vungle SDK versi 6.11.0.
Versi 6.10.5.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.10.5.
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 20.6.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 20.6.0.
- Vungle SDK versi 6.10.5.
Versi 6.10.4.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.10.4.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 20.5.0.
- Vungle SDK versi 6.10.4.
Versi 6.10.3.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.10.3.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 20.5.0.
- Vungle SDK versi 6.10.3.
Versi 6.10.2.1
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.10.2.
- Menambahkan dukungan bidding untuk format iklan interstisial dan reward.
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 20.5.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 20.5.0.
- Vungle SDK versi 6.10.2.
Versi 6.10.2.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.10.2.
- Memperbaiki masalah adaptor dengan mengganti parameter
serverParameters
, denganmediationExtras
untuk mendapatkan parameter khusus jaringan Vungle, saat meminta iklan Banner dan Interstisial.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 20.3.0.
- Vungle SDK versi 6.10.2.
Versi 6.10.1.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.10.1.
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 20.3.0.
- Iklan MREC kini didukung dengan API banner Vungle.
- Memperbarui kode dan pesan error standar.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 20.3.0.
- Vungle SDK versi 6.10.1.
Versi 6.9.1.1
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 20.0.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 20.0.0.
- Vungle SDK versi 6.9.1.
Versi 6.9.1.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.9.1.
- Menambahkan dukungan untuk OMSDK.
- Beragam perbaikan bug.
- Dukungan Iklan Reward untuk callback Vungle diAdView.
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 19.7.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 19.7.0.
- Vungle SDK versi 6.9.1.
Versi 6.8.1.1
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 19.6.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 19.6.0.
- Vungle SDK versi 6.8.1.
Versi 6.8.1.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.8.1.
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 19.5.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 19.5.0.
- Vungle SDK versi 6.8.1.
Versi 6.8.0.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.8.0.
- Memperbarui adaptor untuk tidak meneruskan
onAdClosed()
saat iklan banner dimuat ulang atau dihancurkan. - Hapus
FlexFeed
danFlexView
(tidak digunakan lagi di Vungle 6.8.0). - Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 19.4.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 19.4.0.
- Vungle SDK versi 6.8.0.
Versi 6.7.1.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.7.1.
- Memperbaiki bug saat iklan tidak dapat dimuat jika iklan dimuat menggunakan konteks aplikasi.
targetSdkVersion
telah diupdate ke API 29.- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 19.3.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 19.3.0.
- Vungle SDK versi 6.7.1.
Versi 6.7.0.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.7.0.
- Memperbarui adaptor untuk mendukung permintaan banner adaptif inline.
- Iklan interstisial dan iklan reward kini dibunyikan secara default.
- Iklan interstisial kini meneruskan callback
onAdLeftApplication()
saat diklik. - Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 19.2.0.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 19.2.0.
- Vungle SDK versi 6.7.0.
Versi 6.5.3.0
- Kompatibilitas yang diverifikasi dengan Vungle SDK 6.5.3.
- Menambahkan dukungan untuk format Banner Vungle yang baru diperkenalkan.
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 19.0.1.
Dibangun dan diuji dengan:
- Google Mobile Ads SDK versi 19.0.1.
- Vungle SDK versi 6.5.3.
Versi 6.4.11.1
- Memperbaiki masalah iklan banner yang gagal dimuat ulang.
Versi 6.4.11.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 6.4.11.
- Menambahkan dukungan untuk iklan banner.
- Memigrasikan adaptor ke AndroidX.
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 18.2.0.
Versi 6.3.24.1
- Memperbarui adaptor untuk mendukung Reward API open-beta yang baru.
- Mengupdate versi Google Mobile Ads SDK minimum yang diperlukan ke 17.2.0.
Versi 6.3.24.0
- Kompatibilitas yang diverifikasi dengan Vungle SDK 6.3.24.
Versi 6.3.17.0
- Kompatibilitas yang diverifikasi dengan Vungle SDK 6.3.17.
Versi 6.3.12.0
- Kompatibilitas yang diverifikasi dengan Vungle SDK 6.3.12.
Versi 6.2.5.1
- Memperbarui adaptor untuk memanggil peristiwa iklan
onRewardedVideoComplete()
.
Versi 6.2.5.0
- Kompatibilitas yang diverifikasi dengan Vungle SDK 6.2.5.
Versi 5.3.2.1
- Adaptor yang diperbarui untuk melaporkan klik ke Google Mobile Ads SDK dengan benar.
Versi 5.3.2.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 5.3.2.
- Mengupdate project Adpater untuk Android Studio 3.0.
- Menambahkan metode berikut ke class builder Bundle.
setOrdinalViewCount
: Kolom ini digunakan untuk meneruskan ordinal mediasi, kapan pun Penerbit menerima laporan data ordinal dari Vungle.setFlexViewCloseTimeInSec
: Opsi ini digunakan untuk membuat iklan tampilan fleksibel menutup sendiri setelah jumlah detik yang ditentukan.
Versi 5.3.0.0
- Kompatibilitas yang telah diverifikasi dengan Vungle SDK 5.3.0.
Versi 5.1.0.0
- Memperbarui adaptor agar kompatibel dengan Vungle SDK 5.1.0.
- Mengubah sistem penamaan versi menjadi [Versi SDK Vungle].[versi patch adaptor].
Versi sebelumnya
- Menambahkan dukungan untuk format iklan video interstisial dan video reward.