作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用的是Xcode 7.3、Swift、SpriteKit 和 AdMob。我正在尝试显示插页式广告,但无论我等待多久,请求都不会被满足,并且 self.interstitial.isReady
始终为 false。这是我的代码:
import UIKit
import SpriteKit
import GoogleMobileAds
class GameViewController: UIViewController {
var interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910")
override func viewDidLoad() {
super.viewDidLoad()
let request = GADRequest()
// Requests test ads on test devices.
request.testDevices = ["2077ef9a63d2b398840261c8221a0c9b"]
self.interstitial.loadRequest(request)
}
func displayAd() {
print(self.interstitial.isReady)
if self.interstitial.isReady {
self.interstitial.presentFromRootViewController(self)
}
}
}
在另一个 swift 文件中,我调用 GameViewController().displayAd()
。这总是打印 false,因为 interstitial.isReady 永远不会为 true。 *一个可能的问题 - 我可能使用了错误的测试 adUnitId 或 request.testDevices 未设置为正确的内容。
为什么这个请求无法满足?
最佳答案
对于后来阅读本文的人,我修复了它,有两个问题:
我实际上没有使用广告,因此 request.testDevices
不应设置为任何内容
此外,当我调用 GameViewController().displayAd()
时,我正在创建一个 GameViewController
的新实例,并且它必须是原始实例。为了避免这种情况,我创建了一个引用 GameViewController's
self 的变量,然后执行了variable.displayAd()
关于ios - AdMob 插页式广告永远不会变成 "ready",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36534490/
我是一名优秀的程序员,十分优秀!