我在viewdidload方法中添加了以下代码
self.interstitialAd = FBInterstitialAd.init(placementID: "")
self.interstitialAd.delegate = self;
interstitialAd.load()
和每五分钟的通话时间以加载广告
Timer.scheduledTimer(timeInterval: 300.0, target: self, selector: #selector(callInterstitialAdEveryFiveMinutes), userInfo: nil, repeats: true)
@objc func callInterstitialAdEveryFiveMinutes() {
interstitialAd.load()
}
,但每五分钟未展示一次广告,并显示错误消息 7000您的广告已经加载
预先感谢
答案 0 :(得分:0)
根据文档,您应该首先关闭已加载的广告并请求一个新广告:
在屏幕上显示广告时,请勿在FBInterstitialAd上调用loadAd。如果您需要加载另一个FBInterstitialAd以供将来使用,则可以在用户关闭当前FBInterstitialAd后再进行加载,例如在interstitialAdDidClose回调中。
因此,在这种情况下,您需要等到用户关闭第一个广告:
func interstitialAdDidClose(_ interstitialAd: FBInterstitialAd?) {
print("Interstitial had been closed")
// Consider to add code here to resume your app's flow
// .. Schedule the timer, or show another ad .. //
}
请阅读: Adding Interstitial Ad to your iOS app
或看到此问题InterstitialAd failed to load with error?:
您收到的错误基本上是我们无法匹配Facebook个人资料来投放相关广告。
答案 1 :(得分:0)
在计时器中,放置此代码
func showInter() {
if self.fullSscreenAd.isAdValid {
self.fullSscreenAd.show(fromRootViewController: self)
} else {
print("Ad wasn't ready")
}
}
当第一个广告关闭时,加载插页式广告,以便为下一个广告做好加载准备。
func interstitialAdDidClose(_ interstitialAd: FBInterstitialAd) {
self.loadinter() }
func loadinter() {
fullSscreenAd = FBInterstitialAd(placementID: "your placement id")
fullSscreenAd.delegate = self
fullSscreenAd.load()
}