Я реализовал тест AdMob с Firebase:
override func viewDidLoad() {
super.viewDidLoad()
interstitial = createAndLoadInterstitial()
interstitial.delegate = self
....}
func createAndLoadInterstitial() -> GADInterstitial {
var interstitial = GADInterstitial(adUnitID: "testVideo")
interstitial.delegate = self
interstitial.load(GADRequest())
return interstitial
}
func interstitialWillDismissScreen(_ ad: GADInterstitial) {
print("interstitialWillDismissScreen")
UserDefaults.standard.set(false, forKey: "adWasShowing")
}
func interstitialDidDismissScreen(_ ad: GADInterstitial) {
if ... {
...
}
interstitial = createAndLoadInterstitial()
print("interstitialDidDismissScreen")
}
Проблема в том, что я получаю рекламу (5-секундное видео) и перевожу приложение в фоновый режим, а затем снова на передний план
interstitialWillDismissScreen и interstitialDidDismissScreen
автоматически вызывается, что приводит к закрытию рекламы.Я думаю, что многие пользователи будут использовать этот эксплойт, чтобы не оставаться на видео.Любая идея о том, как решить эту проблему?
Я попытался установить bool в UserDefaults в "interstitialWillPresentScreen" и проверить его в "applicationWillEnterForeground", но мне не нравится эта идея, а также промежуточный запросеще не загружен (interstitialRequest должен быть заново создан для каждого объявления).