[英]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.