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