【问题标题】:How to reload Interstitial Google Ads (New Version) in Kotlin Android如何在 Kotlin Android 中重新加载插页式 Google Ads(新版本)
【发布时间】:2022-02-04 14:27:25
【问题描述】:

我在我的 Kotlin 项目中添加了插页式 Google Ads。它只加载一次,当我试图重新显示它时,它没有显示。

// Defined variable on top
private var mInterstitialAd: InterstitialAd? = null

    MobileAds.initialize(requireContext()) {}
    val adRequest = AdRequest.Builder().build()
    adView.loadAd(adRequest)


        InterstitialAd.load(requireContext(),"---Interstitial Unit id---", adRequest, object : InterstitialAdLoadCallback() {
            override fun onAdFailedToLoad(adError: LoadAdError) {
                Log.d("LoadAdTAG", adError?.message)
                mInterstitialAd = null
            }

            override fun onAdLoaded(interstitialAd: InterstitialAd) {
                Log.d("LoadAdTAG", "Ad was loaded.")
                mInterstitialAd = interstitialAd
            }
        })

        mInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
            override fun onAdDismissedFullScreenContent() {
                Log.d("LoadAdTAG", "Ad was dismissed.")
            }

            override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
                Log.d("LoadAdTAG", "Ad failed to show.")
            }

            override fun onAdShowedFullScreenContent() {
                Log.d("LoadAdTAG", "Ad showed fullscreen content.")
//                mInterstitialAd = null
            }
        }

然后我会在一段时间后在某些情况下展示它。第一次显示如下

mInterstitialAd?.show(requireActivity())

但是下次尝试显示时,会调用此行但 Ad 没有显示。

能否请您帮我解决如何再次展示广告?

我已关注以下 Google Docs(新版本):https://developers.google.com/admob/android/interstitial

【问题讨论】:

    标签: android kotlin admob interstitial


    【解决方案1】:

    添加此代码:-

    fun loadAds() {
        val adRequest = AdRequest.Builder().build()
        InterstitialAd.load(requireActivity(), interstitial_id, adRequest, object : InterstitialAdLoadCallback() {
            override fun onAdLoaded(interstitialAds: InterstitialAd) {
                mInterstitialAd = interstitialAds
    
                mInterstitialAd!!.fullScreenContentCallback = object : FullScreenContentCallback() {
                    override fun onAdDismissedFullScreenContent() {
                        loadAds()
                    }
    
                    override fun onAdFailedToShowFullScreenContent(adError: AdError) {}
                    override fun onAdShowedFullScreenContent() {
                        mInterstitialAd = null
                    }
                }
            }
    
            override fun onAdFailedToLoad(loadAdError: LoadAdError) {
                mInterstitialAd = null
            }
        })
    }
    

    为展示广告添加此代码:-

    if (mInterstitialAd != null) {
            mInterstitialAd!!.show(requireActivity())
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-11
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      • 2022-06-17
      • 1970-01-01
      • 2014-11-10
      相关资源
      最近更新 更多