插頁式廣告會全螢幕顯示,覆蓋整個應用程式介面。這類廣告會顯示在應用程式的自然轉換點,例如操作後的空檔或遊戲關卡間的暫停時間。
應用程式顯示插頁式廣告時,使用者可以輕觸廣告繼續,或關閉廣告返回應用程式。
本指南說明如何在 Android 應用程式中整合插頁式廣告。
事前準備
繼續操作前,請先完成下列事項:
- 設定 GMA Next-Gen SDK。
- 使用測試插頁式廣告單元 ID
ca-app-pub-3940256099942544/1033173712。- 建構及測試應用程式時,請務必使用測試廣告,而非實際運作中的廣告,如果未使用測試廣告單元 ID,Google 可能會將您的帳戶停權。
- 發布應用程式前,請將這個 ID 替換成廣告單元 ID。
- 如要進一步瞭解 GMA Next-Gen SDK 測試廣告,請參閱「啟用測試廣告」。
載入廣告
以下範例會載入單一廣告:
Kotlin
// Load ads after you initialize MobileAds. InterstitialAd.load( AdRequest.Builder(adUnitId).build(), object : AdLoadCallback<InterstitialAd> { override fun onAdLoaded(ad: InterstitialAd) { // Interstitial ad loaded. interstitialAd = ad } override fun onAdFailedToLoad(adError: LoadAdError) { // Interstitial ad failed to load. Log.e(TAG, "Interstitial ad failed to load: ${adError.message}") interstitialAd = null } }, )
Java
// Load ads after you initialize MobileAds. InterstitialAd.load( new AdRequest.Builder(adUnitId).build(), new AdLoadCallback<InterstitialAd>() { @Override public void onAdLoaded(@NonNull InterstitialAd ad) { // Interstitial ad loaded. interstitialAd = ad; } @Override public void onAdFailedToLoad(@NonNull LoadAdError adError) { // Interstitial ad failed to load. Log.e(TAG, "Interstitial ad failed to load: " + adError.getMessage()); interstitialAd = null; } });
測試時,請使用測試廣告單元 ID:ca-app-pub-3940256099942544/1033173712。
顯示廣告
如要顯示插頁式廣告,請呼叫show 方法。
以下範例會顯示廣告:
Kotlin
private fun showAd(interstitialAd: InterstitialAd, activity: Activity) { // Show the ad. interstitialAd.show(activity) }
Java
private void showAd(InterstitialAd interstitialAd, Activity activity) { // Show the ad. interstitialAd.show(activity); }
監聽廣告事件
顯示廣告前,請先監聽廣告生命週期事件。以下範例說明如何註冊廣告事件的回呼:
Kotlin
// Listen for ad events. val ad = interstitialAd if (ad == null) { Log.e(TAG, "Interstitial ad is not ready yet.") return } ad.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. Log.e(TAG, "Interstitial ad failed to show: ${fullScreenContentError.message}") } override fun onAdImpression() { // Interstitial ad did record an impression. } override fun onAdClicked() { // Interstitial ad did record a click. } }
Java
// Listen for ad events. if (interstitialAd == null) { Log.e(TAG, "Interstitial ad is not ready yet."); return; } interstitialAd.setAdEventCallback( new InterstitialAdEventCallback() { @Override public void onAdShowedFullScreenContent() { // Interstitial ad did show. } @Override public void onAdDismissedFullScreenContent() { // Interstitial ad did dismiss. interstitialAd = null; } @Override public void onAdFailedToShowFullScreenContent( @NonNull FullScreenContentError fullScreenContentError) { // Interstitial ad failed to show. Log.e(TAG, "Interstitial ad failed to show: " + fullScreenContentError.getMessage()); } @Override public void onAdImpression() { // Interstitial ad did record an impression. } @Override public void onAdClicked() { // Interstitial ad did record a click. } });