iAd 在 GameScene.swift 中不可用?
iAd unavailable in GameScene.swift?
我已将 iAd 导入到我的 GameScene.swift
文件中,但由于某些原因我无法调用 self.canDisplayBannerAds()
方法。有谁知道如何解决这个问题?
你记得继承自 ADBannerViewDelegate
AND import iAd
yourVC: UIViewController, ADBannerViewDelegate {
...
}
这里有一些适用于你的工作代码,我刚刚工作过。这不需要 self.candisplaybannerads = true
因为我有一些问题。广告根据屏幕尺寸自动改变尺寸,位于屏幕底部。
import iAd
class viewController: UIViewController, ADBannerViewDelegate {
var AdBanner = ADBannerView()
override func viewDidLoad() {
super.viewDidLoad()
/* Ad Banner Settings */
AdBanner = ADBannerView()
AdBanner.frame = CGRectZero
AdBanner.delegate = self
self.AdBanner.frame = CGRectMake(0, self.view.frame.size.height-self.AdBanner.frame.size.height, self.AdBanner.frame.size.width, self.AdBanner.frame.size.height)
AdBanner.backgroundColor = UIColor.clearColor()
self.view.addSubview(AdBanner)
}
/* All iAd Functions */
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
/* whatever you need */
return true
}
func bannerViewActionDidFinish(banner: ADBannerView!) {
/* whatever you need */
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
AdBanner.hidden = false
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
NSLog("Error Loading Ad")
/* whatever you need */
AdBanner.hidden = true
}
func bannerViewWillLoadAd(banner: ADBannerView!) {
/* whatever you need */
}
如果你想使用 canDisplayBannerAds
像这样实现它:
import UIKit
import iAd // Import iAd
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
showBanner()
}
func showBanner() {
// Creates a self managed ADBannerView
self.canDisplayBannerAds = true
}
func hideBanner() {
// Removes the ADBannerView
self.canDisplayBannerAds = false
}
使用 canDisplayBannerAds
为您创建和管理 ADBannerView
。无需实施其他方法,ADBannerView
将 hide/show 本身取决于是否有可用广告。
我已将 iAd 导入到我的 GameScene.swift
文件中,但由于某些原因我无法调用 self.canDisplayBannerAds()
方法。有谁知道如何解决这个问题?
你记得继承自 ADBannerViewDelegate
AND import iAd
yourVC: UIViewController, ADBannerViewDelegate {
...
}
这里有一些适用于你的工作代码,我刚刚工作过。这不需要 self.candisplaybannerads = true
因为我有一些问题。广告根据屏幕尺寸自动改变尺寸,位于屏幕底部。
import iAd
class viewController: UIViewController, ADBannerViewDelegate {
var AdBanner = ADBannerView()
override func viewDidLoad() {
super.viewDidLoad()
/* Ad Banner Settings */
AdBanner = ADBannerView()
AdBanner.frame = CGRectZero
AdBanner.delegate = self
self.AdBanner.frame = CGRectMake(0, self.view.frame.size.height-self.AdBanner.frame.size.height, self.AdBanner.frame.size.width, self.AdBanner.frame.size.height)
AdBanner.backgroundColor = UIColor.clearColor()
self.view.addSubview(AdBanner)
}
/* All iAd Functions */
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
/* whatever you need */
return true
}
func bannerViewActionDidFinish(banner: ADBannerView!) {
/* whatever you need */
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
AdBanner.hidden = false
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
NSLog("Error Loading Ad")
/* whatever you need */
AdBanner.hidden = true
}
func bannerViewWillLoadAd(banner: ADBannerView!) {
/* whatever you need */
}
如果你想使用 canDisplayBannerAds
像这样实现它:
import UIKit
import iAd // Import iAd
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
showBanner()
}
func showBanner() {
// Creates a self managed ADBannerView
self.canDisplayBannerAds = true
}
func hideBanner() {
// Removes the ADBannerView
self.canDisplayBannerAds = false
}
使用 canDisplayBannerAds
为您创建和管理 ADBannerView
。无需实施其他方法,ADBannerView
将 hide/show 本身取决于是否有可用广告。