如何在Kotlin Android中重新加载初始谷歌广告(新版本)



我在Kotlin项目中添加了Interstial Google广告。它只加载一次,当我试图重新显示它时,它不会显示。

// 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())

但下一次当尝试显示时,这条线被调用,但广告没有显示。

你能帮我再看一遍广告吗?

我关注了以下谷歌文档(新版本(:https://developers.google.com/admob/android/interstitial

添加以下代码:-

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())
}

最新更新