我想在 ios(swift) 中每五分钟加载一次 facebook 插页式广告

Posted

技术标签:

【中文标题】我想在 ios(swift) 中每五分钟加载一次 facebook 插页式广告【英文标题】:i want to load facebook Interstitial Ad every five minutes in ios(swift) 【发布时间】:2018-12-06 10:25:55 【问题描述】:

我在 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 您的广告已经加载

提前致谢

【问题讨论】:

【参考方案1】:

根据文档,您应该首先关闭加载的广告并请求新的广告:

当广告在屏幕上显示时,不要在 FBInterstitialAd 上调用 loadAd。如果您需要加载另一个 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 个人资料以投放相关广告。

【讨论】:

我已经关闭了第一个广告,但在调用函数时没有收到第二个广告 嗯,这特别告诉你一件事,可能有一个特定的计时器,直到你可以加载一个新的 是的,我想每 5 分钟加载一次广告,但遇到问题描述的错误 7000 您收到的错误基本上是我们无法匹配 Facebook 个人资料来投放相关广告。那么为什么显示第一次和之后给出错误已经加载广告和已经按照 facebook doc 进行开发【参考方案2】:

在计时器中,放置此代码

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()
    

【讨论】:

以上是关于我想在 ios(swift) 中每五分钟加载一次 facebook 插页式广告的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中每 x 分钟做一次

在Swift 2.0中每隔n分钟更新一次背景中的位置

我想在swift中每隔10次显示一个警报

每五分钟安排一次 Node.js 作业

如何在 iOS 应用程序中每 n 分钟获取一次后台位置更新?

请问在linux系统下如何每五分钟自动执行一次页面