问题描述
我按照文件,我发现(googleAd在SWIFT)。当我在 SpriteKit
现场进行。命令行 bannerView?.rootViewController =自
出现错误。
gamescene无法转换为的UIViewController
bannerView = GADBannerView(adSize:kGADAdSizeBanner)
bannerView?.adUnitID =xxxxxxxxxxxxxxxxxxxxx
bannerView?.delegate =自
?bannerView .rootViewController =自// - >错误gamescene无法转换为的UIViewController
self.view?.addSubview(bannerView!)
bannerView?.loadRequest(GADRequest())
计时器?.invalidate()
定时器= NSTimer.scheduledTimerWithTimeInterval(40,目标:自我,选择:GoogleAdRequestTimer,用户信息:无,重复:真)
您需要把这个code在viewDidLoad中内GameViewController.swift不GameScene.swift。
记住GADBannerViewDelegate添加到类。
例如:
类GameViewController:UIViewController的,GADBannerViewDelegate {
VAR一幕:GameScene!
VAR adBannerView:GADBannerView!
覆盖FUNC viewDidLoad中(){
super.viewDidLoad()
//配置视图。
让skView =查看SKView
skView.showsFPS = FALSE
skView.showsNodeCount = FALSE
skView.showsPhysics = FALSE
/ *雪碧套件适用额外的优化来提高渲染性能* /
skView.ignoresSiblingOrder =真
/ *设置缩放模式缩放以适应窗口* /
场景= GameScene(尺寸:skView.bounds.size)
scene.scaleMode = .AspectFill
skView。presentScene(场景)
adBannerView = GADBannerView(框架:CGRectMake(0,0,self.view.frame.size.width,50))
adBannerView.delegate =自
adBannerView.rootViewController =自
adBannerView.adUnitID =广告ID
VAR reqAd = GADRequest()
reqAd.testDevices = [GAD_SIMULATOR_ID] //如果你想测试广告的
adBannerView.loadRequest(reqAd)
self.view.addSubview(adBannerView)
}
我已经提到两个环节,可提供有关如何将谷歌广告的广告(AdMob的)到一个应用程序的例子。
我希望这有助于
I have followed the Documentation that I found (googleAd in swift). when I performed in my SpriteKit
scene. Command line "bannerView? .rootViewController = Self
" appear error.
gamescene not convertible to UIViewController
bannerView = GADBannerView(adSize: kGADAdSizeBanner)
bannerView?.adUnitID = "xxxxxxxxxxxxxxxxxxxxx"
bannerView?.delegate = self
bannerView?.rootViewController = self // -> Error "gamescene not convertible to UIViewController"
self.view?.addSubview(bannerView!)
bannerView?.loadRequest(GADRequest())
timer?.invalidate()
timer = NSTimer.scheduledTimerWithTimeInterval(40, target: self, selector: "GoogleAdRequestTimer", userInfo: nil, repeats: true)
You need to put this code in viewDidLoad within GameViewController.swift not in GameScene.swift.
Remember to add GADBannerViewDelegate to the class.
Example:
class GameViewController: UIViewController, GADBannerViewDelegate {
var scene: GameScene!
var adBannerView: GADBannerView!
override func viewDidLoad() {
super.viewDidLoad()
// Configure the view.
let skView = view as SKView
skView.showsFPS = false
skView.showsNodeCount = false
skView.showsPhysics = false
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene = GameScene(size: skView.bounds.size)
scene.scaleMode = .AspectFill
skView.presentScene(scene)
adBannerView = GADBannerView(frame: CGRectMake(0, 0, self.view.frame.size.width, 50))
adBannerView.delegate = self
adBannerView.rootViewController = self
adBannerView.adUnitID = "YOUR AD ID"
var reqAd = GADRequest()
reqAd.testDevices = [GAD_SIMULATOR_ID] // If you want test ad's
adBannerView.loadRequest(reqAd)
self.view.addSubview(adBannerView)
}
I have referenced two links that provide examples on how to include Google Ad's (AdMob) into an app.
Google Ad's with Swift Example 1 (more detailed)
Google Ad's with Swift Example 2
I hope this helps
这篇关于AdMob的IOS与Swift在SpriteKit的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!