Prasyarat
- Google Mobile Ads SDK 19.7.0 atau yang lebih tinggi.
- Selesaikan Panduan memulai.
Selalu uji dengan iklan uji coba
Saat membuat dan menguji aplikasi, pastikan Anda menggunakan iklan pengujian, bukan iklan produksi aktif. Jika Anda tidak melakukannya, akun Anda dapat ditangguhkan.
Cara termudah untuk memuat iklan pengujian adalah dengan menggunakan ID unit iklan pengujian khusus kami untuk iklan reward Android:
/6499/example/rewarded
Aplikasi ini telah dikonfigurasi secara khusus guna menampilkan iklan pengujian untuk setiap permintaan, dan Anda bebas menggunakannya dalam aplikasi Anda sendiri saat membuat kode, menguji, dan men-debug. Pastikan Anda menggantinya dengan ID unit iklan Anda sendiri sebelum memublikasikan aplikasi.
Untuk informasi selengkapnya tentang cara kerja iklan pengujian Mobile Ads SDK, lihat Menguji Iklan.
Memuat objek iklan reward
Iklan reward dimuat dengan memanggil metode load()
statis pada class RewardedAd
dan meneruskan RewardedAdLoadCallback
. Ini biasanya
dilakukan dalam metode onCreate()
dari Activity
.
Perhatikan bahwa seperti callback pemuatan format lainnya, RewardedAdLoadCallback
memanfaatkan LoadAdError
untuk memberikan detail error fidelitas yang lebih tinggi.
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) { AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build(); RewardedAd.load(this, "/6499/example/rewarded", adRequest, new RewardedAdLoadCallback() { @Override public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) { // Handle the error. Log.d(TAG, loadAdError.toString()); rewardedAd = null; } @Override public void onAdLoaded(@NonNull RewardedAd ad) { rewardedAd = ad; Log.d(TAG, "Ad was loaded."); } }); } }
Kotlin
class MainActivity : AppCompatActivity() { private var rewardedAd: RewardedAd? = null private final var TAG = "MainActivity" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var adRequest = AdManagerAdRequest.Builder().build() RewardedAd.load(this,"/6499/example/rewarded", adRequest, object : RewardedAdLoadCallback() { override fun onAdFailedToLoad(adError: LoadAdError) { Log.d(TAG, adError?.toString()) rewardedAd = null } override fun onAdLoaded(ad: RewardedAd) { Log.d(TAG, "Ad was loaded.") rewardedAd = ad } }) } }
[Opsional] Memvalidasi callback verifikasi sisi server (SSV)
Aplikasi yang memerlukan data tambahan dalam callback verifikasi
sisi server harus menggunakan
fitur data kustom iklan reward. Setiap nilai string yang ditetapkan pada objek iklan reward diteruskan ke parameter kueri custom_data
dari callback SSV. Jika tidak ada nilai data kustom yang ditetapkan, parameter value kueri custom_data
tidak akan ada dalam callback SSV.
Contoh kode berikut menunjukkan cara menetapkan data kustom pada objek iklan reward sebelum meminta iklan.
Java
RewardedAd.load(MainActivity.this, "ca-app-pub-3940256099942544/5354046379", new AdRequest.Builder().build(), new RewardedAdLoadCallback() { @Override public void onAdLoaded(RewardedAd ad) { Log.d(TAG, "Ad was loaded."); rewardedAd = ad; ServerSideVerificationOptions options = new ServerSideVerificationOptions .Builder() .setCustomData("SAMPLE_CUSTOM_DATA_STRING") .build(); rewardedAd.setServerSideVerificationOptions(options); } @Override public void onAdFailedToLoad(LoadAdError loadAdError) { Log.d(TAG, loadAdError.toString()); rewardedAd = null; } });
Kotlin
RewardedAd.load(this, "ca-app-pub-3940256099942544/5354046379", AdRequest.Builder().build(), object : RewardedAdLoadCallback() { override fun onAdLoaded(ad: RewardedAd) { Log.d(TAG, "Ad was loaded.") rewardedInterstitialAd = ad val options = ServerSideVerificationOptions.Builder() .setCustomData("SAMPLE_CUSTOM_DATA_STRING") .build() rewardedAd.setServerSideVerificationOptions(options) } override fun onAdFailedToLoad(adError: LoadAdError) { Log.d(TAG, adError?.toString()) rewardedAd = null } })
Jika ingin menetapkan string reward kustom, Anda harus melakukannya sebelum menampilkan iklan.
Setel FullScreenContentCallback
FullScreenContentCallback
menangani peristiwa yang terkait dengan menampilkan
RewardedAd
. Sebelum menampilkan RewardedAd
, pastikan untuk menetapkan callback
seperti berikut:
Java
rewardedAd.setFullScreenContentCallback(new FullScreenContentCallback() { @Override public void onAdClicked() { // Called when a click is recorded for an ad. Log.d(TAG, "Ad was clicked."); } @Override public void onAdDismissedFullScreenContent() { // Called when ad is dismissed. // Set the ad reference to null so you don't show the ad a second time. Log.d(TAG, "Ad dismissed fullscreen content."); rewardedAd = null; } @Override public void onAdFailedToShowFullScreenContent(AdError adError) { // Called when ad fails to show. Log.e(TAG, "Ad failed to show fullscreen content."); rewardedAd = null; } @Override public void onAdImpression() { // Called when an impression is recorded for an ad. Log.d(TAG, "Ad recorded an impression."); } @Override public void onAdShowedFullScreenContent() { // Called when ad is shown. Log.d(TAG, "Ad showed fullscreen content."); } });
Kotlin
rewardedAd?.fullScreenContentCallback = object: FullScreenContentCallback() { override fun onAdClicked() { // Called when a click is recorded for an ad. Log.d(TAG, "Ad was clicked.") } override fun onAdDismissedFullScreenContent() { // Called when ad is dismissed. // Set the ad reference to null so you don't show the ad a second time. Log.d(TAG, "Ad dismissed fullscreen content.") rewardedAd = null } override fun onAdFailedToShowFullScreenContent(adError: AdError?) { // Called when ad fails to show. Log.e(TAG, "Ad failed to show fullscreen content.") rewardedAd = null } override fun onAdImpression() { // Called when an impression is recorded for an ad. Log.d(TAG, "Ad recorded an impression.") } override fun onAdShowedFullScreenContent() { // Called when ad is shown. Log.d(TAG, "Ad showed fullscreen content.") } }
Tampilkan iklan
Saat menampilkan iklan reward, Anda akan menggunakan objek OnUserEarnedRewardListener
untuk menangani peristiwa reward.
Java
if (rewardedAd != null) { Activity activityContext = MainActivity.this; rewardedAd.show(activityContext, new OnUserEarnedRewardListener() { @Override public void onUserEarnedReward(@NonNull RewardItem rewardItem) { // Handle the reward. Log.d(TAG, "The user earned the reward."); int rewardAmount = rewardItem.getAmount(); String rewardType = rewardItem.getType(); } }); } else { Log.d(TAG, "The rewarded ad wasn't ready yet."); }
Kotlin
rewardedAd?.let { ad -> ad.show(this, OnUserEarnedRewardListener { rewardItem -> // Handle the reward. val rewardAmount = rewardItem.amount val rewardType = rewardItem.type Log.d(TAG, "User earned the reward.") }) } ?: run { Log.d(TAG, "The rewarded ad wasn't ready yet.") }