Расширенные складные баннеры медленно исчезают при смене пункта назначения навигацииAndroid

Форум для тех, кто программирует под Android
Anonymous
Расширенные складные баннеры медленно исчезают при смене пункта назначения навигации

Сообщение Anonymous »

У меня есть страница 1 и страница 2. На странице 2 есть складной рекламный баннер. страница1 перейти на страницу2. Затем показ складного баннера на странице 2. Складной баннер медленно исчезает, когда я возвращаюсь со страницы 2. Этот вопрос не возникнет в двух Activity. Как решить эту проблему с навигацией. Я воспроизвел эту проблему, проверьте NavigationAdTest. Пожалуйста, помогите. У меня пока нет идей по решению
// 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)
}
})
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... -of-naviga

Вернуться в «Android»