繁体   English   中英

整合iAd后Sprite Kit SKScene尺寸错误或根本无法使用

[英]Sprite Kit SKScene with wrong size after integrating iAd or not working at all

我正在尝试将iAd集成到Sprite Kit游戏中。

在添加游戏场景之前,当我设置“ canDisplayBannerAds = true”时,会显示横幅添加,但gameScene不起作用:

override func viewDidLoad() {
    super.viewDidLoad()

    canDisplayBannerAds = true

    // Configure de main view
    if let skView = view as? SKView {

        // Create and configure scene
        scene = GameScene(size: skView.bounds.size)
        scene!.scaleMode = .AspectFill

        // Show the scene
        skView.presentScene(scene!)
    }
}

在添加SKScene之前将canDisplayBannerAds设置为true时的结果

添加SKScene之后,当我设置“ canDisplayBannerAds = true”时,将显示iAd并且游戏场景现在正在运行,但是尺寸错误,但比添加横幅后剩余的屏幕大。

override func viewDidLoad() {
    super.viewDidLoad()

    // Configure de main view
    if let skView = view as? SKView {
        skView.showsFPS = true

        // Create and configure scene
        scene = MarketGameScene(size: skView.bounds.size)
        scene!.scaleMode = .AspectFill
        scene!.marketGameViewController = self

        // Show the scene
        skView.presentScene(scene!)
    }

    canDisplayBannerAds = NSUserDefaults.standardUserDefaults().boolForKey(UserDefaultsKey.ShowAds)
}

我想念什么? 谢谢

这是为您服务的一些工作代码,这些代码仅对我有用。 甚至不需要self.candisplaybannerads = true因为我对此有一些self.candisplaybannerads = true 广告会根据屏幕尺寸自动更改尺寸,并且位于屏幕底部。 隐藏和显示广告使用

AdBanner.hidden = true/false

......

import iAd

class viewController: UIViewController, ADBannerViewDelegate {

var AdBanner = ADBannerView()

override func viewDidLoad() {
    super.viewDidLoad()

        /* Ad Banner Settings */

        AdBanner = ADBannerView()
        AdBanner.frame = CGRectZero
        AdBanner.delegate = self
        self.AdBanner.frame = CGRectMake(0, self.view.frame.size.height-self.AdBanner.frame.size.height, self.AdBanner.frame.size.width, self.AdBanner.frame.size.height)
        AdBanner.backgroundColor = UIColor.clearColor()
        self.view .addSubview(AdBanner)

}

/* All iAd Functions */

func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
/* whatever you need */
    return true
}

func bannerViewActionDidFinish(banner: ADBannerView!) {
/* whatever you need */
}

func bannerViewDidLoadAd(banner: ADBannerView!) {
    AdBanner.hidden = false
}


func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    NSLog("Error Loading Ad")
/* whatever you need */
    AdBanner.hidden = true
}
func bannerViewWillLoadAd(banner: ADBannerView!) {
/* whatever you need */
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM