Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
延迟5秒后呼叫Admob Interstitual-Swift iOS_Ios_Swift_Admob_Nstimer - Fatal编程技术网

延迟5秒后呼叫Admob Interstitual-Swift iOS

延迟5秒后呼叫Admob Interstitual-Swift iOS,ios,swift,admob,nstimer,Ios,Swift,Admob,Nstimer,请任何人都可以帮我重写我的代码,因为我正在努力提出我的插页广告后,延迟5秒。我使用youTube上的VEA软件教程(本教程使用ui按钮触发间隙)构建了一个视图控制器(如下)。然后,我添加了一个NSTimer行来运行名为timerFunc的函数 现在我只在代码中保留了ui按钮和timerFunc,以显示它的工作原理。最后,我希望NSTimer在5秒钟后调用该广告,而不需要用户进行任何交互 我已经包括了所有必要的框架,我相信有人可能会认为这是一个简单的挑战,但如果有人能提供帮助,我将不胜感激,任何问

请任何人都可以帮我重写我的代码,因为我正在努力提出我的插页广告后,延迟5秒。我使用youTube上的VEA软件教程(本教程使用
ui按钮
触发间隙)构建了一个视图控制器(如下)。然后,我添加了一个
NSTimer
行来运行名为
timerFunc
的函数

现在我只在代码中保留了
ui按钮
timerFunc
,以显示它的工作原理。最后,我希望
NSTimer
在5秒钟后调用该广告,而不需要用户进行任何交互

我已经包括了所有必要的框架,我相信有人可能会认为这是一个简单的挑战,但如果有人能提供帮助,我将不胜感激,任何问题请让我知道

多谢各位

import UIKit
import SpriteKit
import GoogleMobileAds



class GameOverViewController: UIViewController {

var intersitital: GADInterstitial!

@IBOutlet weak var bannerView: GADBannerView!
// start google tracking

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(true)

    var tracker = GAI.sharedInstance().defaultTracker
    tracker.set(kGAIScreenName, value: "Game Over Screen")

    var builder = GAIDictionaryBuilder.createScreenView()
    tracker.send(builder.build() as [NSObject : AnyObject])

    //end google tracking
}

override func viewDidLoad() {
    super.viewDidLoad()

    self.intersitital = self.createAndLoadAd()


    NSTimer.scheduledTimerWithTimeInterval(10.0, target: self, selector: "timerFunc", userInfo: nil, repeats: false)

}

override func shouldAutorotate() -> Bool {
    return true
}

override func supportedInterfaceOrientations() -> Int {
    if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
        return Int(UIInterfaceOrientationMask.AllButUpsideDown.rawValue)
    } else {
        return Int(UIInterfaceOrientationMask.All.rawValue)
    }
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Release any cached data, images, etc that aren't in use.
}

func createAndLoadAd() -> GADInterstitial    {
    var ad = GADInterstitial(adUnitID: "ca-app-pub-7019466409243282/2303966909")

    var request = GADRequest()

    request.testDevices = [""]
    ad.loadRequest(request)
    return ad

}


func someSelector() {
    // Something after a delay
}
//

@IBAction func adButton(sender: AnyObject) {

    if (self.intersitital.isReady)
    {
        self.intersitital.presentFromRootViewController(self)
        self.intersitital = self.createAndLoadAd()
        }


}

func timerFunc() {
    println("Timer")
}

override func prefersStatusBarHidden() -> Bool {
    return true
}
}

最干净的方法是在之后使用
dispatch\u:

let seconds: Double = 5
let delayTime = dispatch_time(DISPATCH_TIME_NOW, 
                              Int64(seconds * Double(NSEC_PER_SEC)))
dispatch_after(delayTime, dispatch_get_main_queue()) {
    // show your ad
}

也就是说,在5秒钟后显示广告的应用程序是邪恶的,很可能会立即被删除,至少在我的设备上是这样。

他们是邪恶的,这个广告在我的游戏视图控制器上,所以在游戏结束之前不会出现。