繁体   English   中英

ADBannerView没有显示出来

[英]ADBannerView not showing up

我正试图将iAd Banner放入我的游戏中! 我已经在游戏中主演了一段时间等待正常的Apple iAd广告出现,但事实并非如此。 它根本没有出现在我的屏幕上!

难道我做错了什么?

或者它最终会出现吗?

import iAd


var iAdBanner = ADBannerView()

var bannerVisible = false

class GameViewController: UIViewController, ADBannerViewDelegate{


override func viewDidLoad() {
    super.viewDidLoad()

    if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
        // Configure the view.
        let skView = self.view as SKView
        /* Set the scale mode to scale to fit the window */
        scene.scaleMode = .AspectFill
        skView.presentScene(scene)



        iAdBanner.frame = CGRectMake(0, self.view.frame.size.height, self.view.frame.width, 50)
        iAdBanner.delegate = self
        bannerVisible = false
    }
}

// Show banner, if Ad is successfully loaded.
func bannerViewDidLoadAd(banner: ADBannerView!) {
    if(bannerVisible == false) {

        // Add banner Ad to the view
        if(iAdBanner.superview == nil) {
            self.view.addSubview(iAdBanner)
        }

        // Move banner into visible screen frame:
        UIView.beginAnimations("iAdBannerShow", context: nil)
        banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height)
        UIView.commitAnimations()

        bannerVisible = true
    }

}

// Hide banner, if Ad is not loaded.
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    if(bannerVisible == true) {
        // Move banner below screen frame:
        UIView.beginAnimations("iAdBannerHide", context: nil)
        banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height)
        UIView.commitAnimations()
        bannerVisible = false
    }

}

您尚未将横幅视图添加到视图中。 您已经在bannerViewDidLoadAd中调用了bannerViewDidLoadAd self.view.addSubview(iAdBanner) ,在添加横幅视图之前不会调用它。 您需要事先添加横幅视图(例如,在viewDidLoad )。

此外,您不能将横幅视图框架更改为您想要的任何尺寸。

阅读iAD编程指南中的横幅视图大小 (实际阅读整个指南)。 它有代码片段(虽然在ObjC中不是Swift)。

它清楚地说:

iAd支持纵向和横向应用的不同横幅尺寸。 广告的确切大小取决于展示横幅的设备。 在iPhone上,纵向广告是320 x 50点和480 x 32点,用于横向广告。 在iPad上,肖像广告是768 x 66点和1024 x 66点,用于横向广告。 将来,iAd可能会暴露其他尺寸。

并在下一段:

为确保正确显示广告,必须始终调整横幅视图的大小以匹配其中一个内置广告尺寸。 ADBannerView类通过阻止您直接更改框架来强制执行此操作。 而是通过设置currentContentSizeIdentifier属性来更改横幅视图的框架。 更改存储在此属性中的值会将标题视图的帧大小调整为与提供的标识符的大小匹配。

也许检查你的故事板 - >你的viewcontroller包含iAd - >视图属性检查器选项卡 - >专注于扩展边缘,并取消选中此属性。 希望这有帮助。 请阅读这个答案。

暂无
暂无

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

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