[Android]Google Mobile Ads SDK(Admob SDK)19.7.0以降に必要な全画面広告(インタースティシャル広告)の破壊的変更対応

Googleが提供している広告ネットワークAdmobをAndroidで使うためのライブラリである「Google Mobile Ads SDK」について、2021 年初頭にリリースが予定されているバージョン 20.0.0では、全画面広告(インタースティシャル広告)に関する破壊的変更が行われ、バージョン19.7.0からこの変更が導入されました。

(19.7.0以降の全画面広告の設定公式チュートリアルはこちらから)

 

1.InterStitialAdクラスのパッケージ名の変更

 

2.広告のロードと広告表示に関するコールバック

  • 広告のロード状況を検知する「InterstitialAdLoadCallback」の新設
  • AdListnerが廃止され、FullScreenContentCallbackに
//1.広告のリクエスト
val adRequest = AdRequest.Builder().build()
//2.広告のロード
InterstitialAd.load(this, getString(R.string.interstitial_ad_unit_id), adRequest, 
        object : InterstitialAdLoadCallback() {
    //3−1.広告ロードが成功した場合(InterstitialAdLoadCallback#onAdLoaded)
    override fun onAdLoaded(p0: InterstitialAd) {
        interstitialAd = p0
        interstitialAd?.fullScreenContentCallback = 
                object : FullScreenContentCallback() { 
                    
            //4−1.広告を閉じた場合(FullScreenContentCallback#onAdDismissedFullScreenContent)  
            override fun onAdDismissedFullScreenContent() {
                goTestActivity(gradeOfTest)
            }

            //4−2.広告の表示に失敗した場合(FullScreenContentCallback#onAdShowedFullScreenContent)
            override fun onAdShowedFullScreenContent() {
                interstitialAd = null
            }
        }
    }
    
    //3−2.広告のロードに失敗した場合(InterstitialAdLoadCallback#onAdFailedToLoad)
    override fun onAdFailedToLoad(p0: LoadAdError) {
        interstitialAd = null
    }
})

 

3.広告の表示

InterstitialAd#showメソッドにActivityを引数として入れることが必要になりました。

interstitialAd?.show(this)

(詳しくは、以下の動画で説明していますので、よろしければご覧下さい)

こんな記事も読まれています

おすすめコンテンツ




Flutter(フラッター)


みんプロ作成アプリ




TOP