我有一个应用程序,它在 UIPageViewController 上的几页之后显示插页式广告。通常广告没问题,我可以通过它自己的“X”按钮关闭它。但是有一些广告(尤其是关于列王的纷争这样的游戏的广告,我注意到)无论我点击“X”按钮多少次都不会关闭。
我什至有一次会在 5 秒后关闭诸如插页式广告之类的模式,但对于这些特定的广告,它不会起作用。
这是我的代码:
func createAndLoadInterstitial() -> GADInterstitial {
let interst = GADInterstitial(adUnitID: "..")
interst.delegate = self
let request = GADRequest()
interst.load(request)
return interst
}
func showInterstitial() {
if interstitial.isReady {
self.interstitial.present(fromRootViewController: self)
self.timer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(self.dismissInterstitial), userInfo: nil, repeats: false)
} else {
print("Ad wasn't ready")
}
}
func dismissInterstitial() {
self.dismiss(animated: true, completion: nil) //THIS WORKS FINE EXCEPT FOR THESE PARTICULAR ADS.
}
我尝试使用 DispatchQueue.main.async 确保它也在主线程上,但同样,这并非每次都有效。
有没有办法解决这个问题,或者我可能遗漏了什么?
谢谢。
最佳答案
以前没有使用过广告,但在游戏中看到过这种行为。我想到的事情:
- 它是否有一个委托(delegate)方法,该方法被调用后您关闭了广告?
- 如果没有委托(delegate)方法,则可能是广告在“欺骗”并且无目的地显示“x”按钮。
可能的解决方案:如何创建一个透明 View 并创建一个手势识别器并在点击时关闭?
关于ios - 某些插页式广告在点击 'X' 时不会关闭或关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42305057/