我正试图将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
}
}
答案 0 :(得分:2)
您尚未将横幅视图添加到视图中。您已在self.view.addSubview(iAdBanner)
中调用bannerViewDidLoadAd
,在添加横幅视图之前不会调用该viewDidLoad
。您需要事先添加横幅视图(例如,在{{1}})。
此外,您无法将横幅视图框更改为您想要的任何尺寸。
阅读iAD编程指南中的Banner View Sizes(实际阅读完整指南)。它有代码片段(虽然在ObjC中不是Swift)。
它清楚地说:
iAd支持纵向和横向应用的不同横幅尺寸。 广告的确切大小取决于横幅所在的设备 正在展示。在iPhone上,肖像广告是320 x 50 点和480 x 32点的景观广告。在iPad上 肖像广告是768 x 66点和1024 x 66点 景观广告。将来,可能会有额外的尺寸 由iAd曝光。
在下一段中:
为确保正确显示广告,请使用横幅视图 必须始终调整大小以匹配其中一个内置广告尺寸。 ADBannerView类通过阻止您更改来强制执行此操作 框架直接。相反,您可以更改横幅视图的框架 设置currentContentSizeIdentifier属性。改变价值 存储在此属性中会将横幅视图的帧大小调整为匹配 提供的标识符的大小。
答案 1 :(得分:1)
也许查看你的故事板 - >你的viewcontroller包含iAd - >查看属性检查器选项卡 - >专注于Extend Edges,&取消选中此属性。希望这有帮助。请读这个答案。