I have page1 and page2. page2 has a collapsible banner ad. page1 navigate to page2. Then the collapsible banner ad show of page2. The collapsible banner ad disapear slowly when I back from page2. This question won’t happen on two Activity. How can I solve this problem on navigation. I reproduced this issue, please check NavigationAdTest. Please help. I don’t have any solution ideas yet
// loadBanner() on page1 that is invoked on onViewCreated()
private fun loadBanner() {
adView = AdView(requireContext())
adView!!.adUnitId = "ca-app-pub-3940256099942544/9214589741"
adView!!.setAdSize(adSize)
// Create an extra parameter that aligns the bottom of the expanded ad to
// the bottom of the bannerView.
val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest = AdRequest.Builder()
// .addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
.build()
adView!!.loadAd(adRequest)
adView!!.adListener = object : AdListener() {
override fun onAdLoaded() {
super.onAdLoaded()
binding.bannerAdContainer.removeAllViews()
binding.bannerAdContainer.addView(adView)
}
}
viewLifecycleOwner.lifecycle.addObserver(object : DefaultLifecycleObserver {
override fun onPause(owner: LifecycleOwner) {
super.onPause(owner)
adView?.pause()
Log.d(TAG, "HomeFragment onPause: adView?.pause()")
}
override fun onResume(owner: LifecycleOwner) {
super.onResume(owner)
adView?.resume()
Log.d(TAG, "HomeFragment onResume: adView?.resume()")
}
override fun onDestroy(owner: LifecycleOwner) {
adView?.destroy()
Log.d(TAG, "HomeFragment onDestroy: adView?.destroy()")
super.onDestroy(owner)
}
})
}
// loadBanner() on page2 that is invoked on onViewCreated()
private fun loadBanner() {
adView = AdView(requireContext())
adView!!.adUnitId = "ca-app-pub-3940256099942544/2014213617"
adView!!.setAdSize(adSize)
// Create an extra parameter that aligns the bottom of the expanded ad to
// the bottom of the bannerView.
val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest = AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
.build()
adView!!.loadAd(adRequest)
adView!!.adListener = object : AdListener() {
override fun onAdLoaded() {
super.onAdLoaded()
binding.bannerAdContainer.removeAllViews()
binding.bannerAdContainer.addView(adView)
}
}
viewLifecycleOwner.lifecycle.addObserver(object : DefaultLifecycleObserver {
override fun onPause(owner: LifecycleOwner) {
super.onPause(owner)
adView?.pause()
Log.d(TAG, "AccountFragment onPause: adView?.pause()")
}
override fun onResume(owner: LifecycleOwner) {
super.onResume(owner)
adView?.resume()
Log.d(TAG, "AccountFragment onResume: adView?.resume()")
}
override fun onDestroy(owner: LifecycleOwner) {
adView?.destroy()
Log.d(TAG, "AccountFragment onDestroy: adView?.destroy()")
super.onDestroy(owner)
}
})
}
You need to sign in to view this answers