【Kotlin/Android】AdMobのインタースティシャル広告の実装方法!画面遷移時に表示

この記事からわかること

  • Kotlinインタースティシャル広告の実装方法
  • AdMob導入
  • 画面遷移広告表示するには?
  • InterstitialAdFullScreenContentCallback使い方

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

環境

公式リファレンス:インタースティシャル広告

インタースティシャル広告とは?

インタースティシャル広告とはアフィリエイト(成功報酬型)広告の1種で画面遷移時や自然な切れ目に配置するフルスクリーンタイプの広告です。

Androidアプリに広告を掲載するには「Google AdMob」を導入します。「Google AdMob」はGoogleが提供しているiOSやAndroidなどのモバイルアプリに広告を設置できるサービスで、バナー広告をはじめリワード広告、インタースティシャル広告の実装も簡単に実装可能になっています。

Google AdSenseのホーム画面

Kotlinでインタースティシャル広告を実装する方法

AdMobが未登録の場合や広告ユニットが未作成、プロジェクトへ未導入の場合は下記記事をご覧ください。

AdMobでは開発途中のテスト実装の際は本番用の広告ユニットIDを使用せずテスト用の広告ユニットIDを使用することを推奨しています。テスト実装の際は以下のIDを然るべき箇所に記述してください。

// インタースティシャル広告のテストID
ca-app-pub-3940256099942544/1033173712

広告の読み込みと表示

class MainActivity : AppCompatActivity() {

  private var mInterstitialAd: InterstitialAd? = null

  override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)

      // 初期化
      MobileAds.initialize(this)

      // インタースティシャル読み込み
      loadInterstitial() 

      val button: Button = findViewById(R.id.transfer_button)

      button.setOnClickListener {
          // インタースティシャル表示
          if (mInterstitialAd != null) {
            mInterstitialAd?.show(this@CategoryListFragment.requireActivity())
          }
      }
    }

    /**
     * AdMobインタースティシャル読み込み
     */
    private fun loadInterstitial() {

        var adRequest = AdRequest.Builder().build()

        InterstitialAd.load(this, "ca-app-pub-3940256099942544/1033173712", adRequest, object : InterstitialAdLoadCallback() {
            override fun onAdFailedToLoad(adError: LoadAdError) {
                mInterstitialAd = null
            }

            override fun onAdLoaded(interstitialAd: InterstitialAd) {
                mInterstitialAd = interstitialAd
            }
        })
    }
}

コールバックの実装

続いて広告の動作に関するコールバックを受け取るためのFullScreenContentCallback型のオブジェクトを実装します。

mInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
    override fun onAdClicked() {
        Log.d("AdMob", "広告をクリックしました。")
    }

    override fun onAdDismissedFullScreenContent() {
        Log.d("AdMob", "広告が全画面コンテンツを非表示にしました。")
        mInterstitialAd = null
    }

    override fun onAdImpression() {
        Log.d("AdMob", "広告はインプレッションを記録しました。")
    }

    override fun onAdShowedFullScreenContent() {
      Log.d("AdMob", "広告には全画面コンテンツが表示されました。")
    }
}

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index