Iklan interstisial adalah iklan layar penuh yang menutupi antarmuka aplikasi host iklan. Iklan ini biasanya ditampilkan di titik transisi alami dalam alur aplikasi, seperti di antara aktivitas atau selama waktu jeda antarlevel dalam game. Saat aplikasi menampilkan iklan interstisial, pengguna dapat memilih untuk mengetuk iklan dan melanjutkan ke tujuannya atau menutupnya dan kembali ke aplikasi. Baca salah satu studi kasus kami.
Panduan ini menjelaskan cara mengintegrasikan iklan interstisial ke dalam aplikasi Android.
Prasyarat
Selalu melakukan pengujian dengan iklan percobaan
Saat membangun dan menguji aplikasi, pastikan Anda menggunakan iklan percobaan, bukan iklan produksi langsung. Jika Anda tidak melakukannya, akun Anda dapat ditangguhkan.
Cara termudah untuk memuat iklan percobaan adalah dengan menggunakan ID unit iklan percobaan khusus kami untuk iklan interstisial Android:
ca-app-pub-3940256099942544/1033173712
Iklan ini telah dikonfigurasi secara khusus agar menampilkan iklan percobaan untuk setiap permintaan, dan Anda dapat menggunakannya di aplikasi Anda sendiri saat melakukan coding, pengujian, dan proses debug. Pastikan Anda menggantinya dengan ID unit iklan Anda sendiri sebelum memublikasikan aplikasi.
Untuk mengetahui informasi selengkapnya tentang cara kerja iklan percobaan GMA Next Gen SDK, lihat Iklan Percobaan.
Memuat iklan
Untuk memuat iklan, GMA Next Gen SDK menawarkan hal berikut:
Muat dengan API pemuatan iklan tunggal.
Memuat dengan API pra-pemuatan iklan, yang menghilangkan kebutuhan untuk pemuatan dan caching iklan manual.
Memuat dengan API pemuatan iklan tunggal
Contoh berikut menunjukkan cara memuat satu iklan:
Kotlin
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback
import com.google.android.libraries.ads.mobile.sdk.MobileAds
class InterstitialActivity : Activity() {
private var interstitialAd: InterstitialAd? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Load ads after you initialize GMA Next Gen SDK.
InterstitialAd.load(
AdRequest.Builder(AD_UNIT_ID).build(),
object : AdLoadCallback<InterstitialAd> {
override fun onAdLoaded(ad: InterstitialAd) {
// Interstitial ad loaded.
interstitialAd = ad
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Interstitial ad failed to load.
interstitialAd = null
}
},
)
}
companion object {
// Sample interstitial ad unit ID.
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712"
}
}
Java
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback;
import com.google.android.libraries.ads.mobile.sdk.MobileAds;
class InterstitialActivity extends Activity {
// Sample interstitial ad unit ID.
private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712";
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load ads after you initialize GMA Next Gen SDK.
InterstitialAd.load(
new AdRequest.Builder(AD_UNIT_ID).build(),
new AdLoadCallback<InterstitialAd>() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// Interstitial ad loaded.
AdLoadCallback.super.onAdLoaded(interstitialAd);
InterstitialActivity.this.interstitialAd = interstitialAd;
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
// Interstitial ad failed to load.
AdLoadCallback.super.onAdFailedToLoad(adError);
interstitialAd = null;
}
}
);
}
}
Memuat dengan API pra-pemuatan iklan
Untuk memulai pra-pemuatan, lakukan hal berikut:
Lakukan inisialisasi konfigurasi pra-pemuatan dengan permintaan iklan.
Mulai pemuat awal untuk iklan interstisial dengan ID unit iklan dan konfigurasi pemuatan awal:
Kotlin
private fun startPreloading(adUnitId: String) {
val adRequest = AdRequest.Builder(adUnitId).build()
val preloadConfig = PreloadConfiguration(adRequest)
InterstitialAdPreloader.start(adUnitId, preloadConfig)
}
Java
private void startPreloading(String adUnitId) {
AdRequest adRequest = new AdRequest.Builder(adUnitId).build();
PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest);
InterstitialAdPreloader.start(adUnitId, preloadConfig);
}
Iklan terus tersedia saat Anda menayangkannya. Contoh berikut meminta iklan dari pra-pemuat:
Kotlin
// Polling returns the next available ad and loads another ad in the background.
val ad = InterstitialAdPreloader.pollAd(adUnitId)
Java
// Polling returns the next available ad and loads another ad in the background.
final InterstitialAd ad = InterstitialAdPreloader.pollAd(adUnitId);
Menetapkan InterstitialAdEventCallback
InterstitialAdEventCallback menangani peristiwa yang terkait dengan menampilkan
InterstitialAd Anda. Sebelum menampilkan iklan interstisial, pastikan untuk menyetel
callback:
Kotlin
// Listen for ad events.
interstitialAd?.adEventCallback =
object : InterstitialAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Interstitial ad did show.
}
override fun onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
interstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(
fullScreenContentError: FullScreenContentError
) {
// Interstitial ad failed to show.
interstitialAd = null
}
override fun onAdImpression() {
// Interstitial ad did record an impression.
}
override fun onAdClicked() {
// Interstitial ad did record a click.
}
}
Java
// Listen for ad events.
interstitialAd.setAdEventCallback(
new InterstitialAdEventCallback() {
@Override
public void onAdShowedFullScreenContent() {
// Interstitial ad did show.
InterstitialAdEventCallback.super.onAdShowedFullScreenContent();
}
@Override
public void onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
InterstitialAdEventCallback.super.onAdDismissedFullScreenContent();
interstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(
@NonNull FullScreenContentError fullScreenContentError) {
// Interstitial ad failed to show.
InterstitialAdEventCallback.super.onAdFailedToShowFullScreenContent(
fullScreenContentError);
initerstitialAd = null;
}
@Override
public void onAdImpression() {
// Interstitial ad did record an impression.
InterstitialAdEventCallback.super.onAdImpression();
}
@Override
public void onAdClicked() {
// Interstitial ad did record a click.
InterstitialAdEventCallback.super.onAdClicked();
}
}
);
Menampilkan iklan
Untuk menampilkan iklan interstisial, gunakan metode show().
Kotlin
// Show the ad.
interstitialAd?.show(this@InterstitialActivity)
Java
// Show the ad.
interstitialAd.show(InterstitialActivity.this);
Beberapa praktik terbaik
- Pertimbangkan apakah iklan interstisial adalah jenis iklan yang tepat untuk aplikasi Anda.
- Iklan interstisial berfungsi paling baik di aplikasi dengan titik transisi alami. Akhir tugas dalam aplikasi, seperti membagikan gambar atau menyelesaikan level game, menghasilkan titik semacam itu. Pastikan Anda mempertimbangkan di titik mana dalam alur kerja aplikasi Anda, Anda akan menampilkan iklan interstisial dan bagaimana kemungkinan respons pengguna.
- Jangan lupa untuk menjeda tindakan saat menampilkan iklan interstisial.
- Ada beberapa jenis iklan interstisial yang berbeda: teks, gambar, video, dan lainnya. Penting untuk memastikan bahwa saat aplikasi Anda menampilkan iklan interstitial, aplikasi juga menangguhkan penggunaan beberapa resource untuk memungkinkan iklan memanfaatkannya. Misalnya, saat Anda melakukan panggilan untuk menampilkan iklan interstitial, pastikan untuk menjeda output audio yang dihasilkan oleh aplikasi Anda.
- Berikan waktu pemuatan yang memadai.
- Sama seperti pentingnya memastikan Anda menampilkan iklan interstisial pada waktu yang tepat, penting juga untuk memastikan pengguna tidak perlu menunggu iklan dimuat. Memuat iklan terlebih dahulu dengan memanggil
load()sebelum Anda bermaksud memanggilshow()dapat memastikan bahwa aplikasi Anda memiliki iklan interstisial yang dimuat sepenuhnya dan siap ditampilkan saat waktunya tiba. - Jangan membanjiri pengguna dengan iklan.
- Meskipun meningkatkan frekuensi iklan interstisial di aplikasi Anda mungkin tampak seperti cara yang bagus untuk meningkatkan pendapatan, hal ini juga dapat menurunkan kualitas pengalaman pengguna dan menurunkan rasio klik-tayang. Pastikan pengguna tidak terlalu sering terganggu sehingga mereka tidak lagi dapat menikmati penggunaan aplikasi Anda.
Contoh
Download dan jalankan aplikasi contoh yang menunjukkan penggunaan GMA SDK Generasi Berikutnya.