Промежуточное объявление AdMob не возобновляет активность с launchMode = "singleInstance" - PullRequest
0 голосов
/ 27 октября 2018

Мое приложение имеет 2 действия - корневое действие A и действие B с launchMode="singleInstance" в манифесте. Элемент RecyclerView в действии A запускает действие B. В действии B во ViewPager есть много фрагментов, и я показываю промежуточную рекламу AdMob после того, как пользователь достиг определенного количества фрагментов. Я установил рекламное объявление в соответствии с официальным руководством :

mInterstitialAd = InterstitialAd(this)
mInterstitialAd.adUnitId = DEBUG_INTERSTITIAL_AD_ID
mInterstitialAd.loadAd(AdRequest.Builder().build())
mInterstitialAd.adListener = object : AdListener() { ... }

и покажите его, если объявление загружено:

mViewPager.setCurrentItem(mViewPager.currentItem + 1, true) // go to the next fragment of ViewPager

if (mViewPager.currentItem % 10 == 0 && mInterstitialAd.isLoaded) {
    mInterstitialAd.show()
}

Эта часть кода отлично работает и показывает рекламу. Но когда я закрываю его, нажимая «X» или кнопку «Назад», я вижу действие A. Если я снова инициирую запуск действия B - я увижу предыдущий экземпляр действия B в состоянии, в котором оно было, когда показ объявления начинался. onPause моей активности B вызывается в момент начала показа объявления, но onResume не вызывается в момент закрытия объявления. Если я удаляю launchMode="singleInstance" из манифеста для действия B - все работает отлично, и мое действие B возобновляется после просмотра рекламы. Поэтому вопрос заключается в том, как возобновить работу с одним экземпляром после просмотра промежуточной рекламы AdMob.

...