我想把iAd旗放进我的游戏里!我已经在游戏中出演了很长一段时间,等待着苹果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
}
}发布于 2015-04-21 20:06:10
您尚未将横幅视图添加到视图中。您已经在self.view.addSubview(iAdBanner)中调用了bannerViewDidLoadAd,它在添加横幅视图之前不会被调用。您需要预先添加横幅视图(例如,在viewDidLoad中)。
另外,您不能将横幅视图框架更改为任何您想要的大小。
阅读横幅视图尺寸中的iAD编程指南(实际上阅读了整个指南)。它有代码段(但在ObjC中,而不是Swift中)。
它明确指出:
iAd支持不同的横幅大小的肖像和景观应用程序。广告的确切大小取决于横幅显示的设备。在iPhone上,肖像广告为320×50点,景观广告为480×32点。在iPad上,肖像广告为768x66点,景观广告为1024x66点。在未来,iAd可能会暴露更多的尺寸。
在下一段中:
为确保广告正确显示,必须始终调整横幅视图的大小,以与内置广告大小之一相匹配。ADBannerView类通过阻止您直接更改框架来强制执行此操作。相反,可以通过设置currentContentSizeIdentifier属性来更改横幅视图的框架。更改存储在此属性中的值将使横幅视图的框架大小与所提供标识符的大小匹配。
发布于 2015-08-10 05:49:31
也许可以检查您的故事板->包含iAd的视图控制器->视图属性检查选项卡->聚焦于扩展边缘,并取消选中此属性。希望能帮上忙。阅读这个答案的Tks。
https://stackoverflow.com/questions/29781557
复制相似问题