通过adMob SpriteKit / Swift优先处理iAd

时间:2015-08-31 12:46:15

标签: swift sprite-kit admob iad

我将iAd和adMob集成到我的游戏中,只有在iAd无法加载时才会运行adMob代码。如果iAd加载第一个广告没有失败,它可以正常工作。当iAd无法加载时,Admob的工作方式就像它应该的那样。但是,当iAd失败但后续加载下一个广告时,adMob横幅仍然存在且未显示iAd。即使adMob已经存在,我该怎样做才能加载iAd。此外,当adMob代码被注释掉后,iAd横幅加载失败后加载正常。在一个不相关的说明中,如何更改模拟器中adMob广告的填充率?谢谢。这是我的GameViewController中的代码(iAd在gameScene中调用):

UILabel

}

2 个答案:

答案 0 :(得分:0)

当iAd在bannerViewDidLoadAd(banner: ADBannerView!)收到广告时,您没有隐藏AdMob横幅广告。因此,您的iAd横幅实际上显示在AdMob横幅后面。

或者,您可以在viewDidLoad中创建一次iAd和AdMob横幅,并根据iAd是否收到广告隐藏或显示它们。您的iAd委托方法最终看起来与此类似:

func bannerViewDidLoadAd(banner: ADBannerView!) {
    UIView.beginAnimations(nil, context: nil)
    // Show iAd
    UIiAd.alpha = 1.0
    // Hide AdMob
    googleBannerView.alpha = 0.0
    UIView.commitAnimations()
}

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    UIView.beginAnimations(nil, context: nil)
    // Hide iAd
    UIiAd.alpha = 0.0
    // Show AdMob
    googleBannerView.alpha = 1.0
    UIView.commitAnimations()
}

检查我的回答here以获得完整的实施。

答案 1 :(得分:0)

我为swift做了一个广告助手,你为什么不把它检查出来,它完全符合你的要求。它主要是为SpriteKit制作的。 https://github.com/crashoverride777/Swift-iAds-and-AdMob-Helper