參考資料 ----
app 層級的 build.gradle
dependencies { ... ... // adMob implementation 'com.google.android.gms:play-services-ads:22.0.0' } apply plugin: 'com.google.gms.google-services'
AndroidManifest.xml
<application ... ...> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="@string/admob_app_id" /> ... ...
string.xml
<!-- adMob app id 測試 --> <string name="admob_app_id">ca-app-pub-3940256099942544~3347511713</string> <!-- 橫幅 測試 --> <string name="banner_ad_unit_id">ca-app-pub-3940256099942544/6300978111</string>; <!-- 插頁 測試 --> <string name="interstitial_ad_unit_id">ca-app-pub-3940256099942544/8691691433</string> <!-- 影片 測試 --> <string name="video_ad_id">ca-app-pub-3940256099942544/5224354917</string>
MainActivity.kt
... ... import com.google.android.gms.ads.AdError import com.google.android.gms.ads.AdRequest import com.google.android.gms.ads.FullScreenContentCallback import com.google.android.gms.ads.interstitial.InterstitialAd import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback class MyActivity : Activity() { var mInterstitialAd: InterstitialAd? = null ... ... override fun onResume() { var adRequest = AdRequest.Builder().build() InterstitialAd.load(this,getString(R.string.interstitial_ad_unit_id), adRequest, object : InterstitialAdLoadCallback() { override fun onAdFailedToLoad(adError: LoadAdError) { Log.d(TAG, adError.toString()) mInterstitialAd = null } override fun onAdLoaded(interstitialAd: InterstitialAd) { Log.d(TAG, "Ad was loaded.") mInterstitialAd = interstitialAd } }) super.onResume() } // 當 usser 按了按鈕時 fun onImgClicked(vv: View) { toWatchIntersticialAd() } // 觀看插頁廣告 private fun toWatchIntersticialAd() { val random = Random() if ((mInterstitialAd!=null) && (random.nextInt(3)==0)) // if(mInterstitialAd!= null) // 測試用, 每次都播放 { // 若廣告已載入, 且亂數是 3 的倍數, 則播放 // (AdMob 規定: 插頁播放的比例須 < 50%) mInterstitialAd?.fullScreenContentCallback = object : FullScreenContentCallback() { override fun onAdDismissedFullScreenContent() { Log.d(TAG, "Ad was dismissed.") // user 關閉廣告, 回主畫面 mInterstitialAd = null // 返回主畫面 NavUtils.navigateUpFromSameTask(this@MyActivity) } override fun onAdFailedToShowFullScreenContent(adError: AdError) { Log.d(TAG, "Ad failed to show.") mInterstitialAd = null // 返回主畫面 NavUtils.navigateUpFromSameTask(this@MyActivity) } override fun onAdShowedFullScreenContent() { Log.d(TAG, "Ad showed fullscreen content.") // Called when ad is dismissed. } } mInterstitialAd!!.show(this) } else // 直接返回主畫面 NavUtils.navigateUpFromSameTask(this) } }
沒有留言:
張貼留言