5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Kotlin】2021年版インタースティシャル広告の実装

Last updated at Posted at 2021-04-19

###はじめに
久しぶりにインタースティシャル広告を実装しようとしたらInterstitialAdがdeprecatedされていたので更新しました。まだ日本語のドキュメントが更新されていないようでしたので備忘録も兼ねて残しておこうと思います。
変なところがあれば教えていただければ幸いです。
AdMob側の操作は割愛します。

build.gradle(app)
implementation 'com.google.android.gms:play-services-ads:19.8.0'
//19.7.0以降でdeprecatedのようです。

###実装

MainActivity.kt

import com.google.android.gms.ads.interstitial.InterstitialAd//新しい方

private var interstitial:InterstitialAd? = null
private val adInter = "ca-app-pub-3940256099942544/1033173712"//テスト用です

InterstitialAdはnull許容でいいみたいで、onResume等でロードしコールバックさせます。

MainActivity.kt

override fun onResume() {
        super.onResume()

        loadInterstitial()
    }

private fun loadInterstitial(){//インタースティシャル、ロード
        val adRequest = AdRequest.Builder().build()
        InterstitialAd.load(this,adInter,adRequest,object : InterstitialAdLoadCallback(){
            override fun onAdLoaded(p0: InterstitialAd) {//広告ロード成功時
                interstitial = p0
                interstitial?.fullScreenContentCallback = object : FullScreenContentCallback(){
                    override fun onAdDismissedFullScreenContent() {//広告を閉じた時
                    }
                    override fun onAdShowedFullScreenContent() {//広告表示成功時
                        interstitial = null
                    }
                }
            }
            override fun onAdFailedToLoad(p0: LoadAdError) {//広告ロード失敗
                interstitial = null
            }
        })
    }

広告の表示成功時も次の広告のためnullにしています。
あとは任意のタイミングでインタースティシャルをShowします。

MainActivity.kt

private fun showInterstitial(){
        if (interstitial != null){//ロードできていれば
            interstitial?.show(this)
        }
    }

###おしまい
リスナーからコールバックに変わっただけで仕様自体はたいして変わっていないようでした。
それにしても日本語のドキュメントが中々更新されないのはどうにかしてほしいですよね。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?