GameViewControllerにこのコードがあることを確認してください。私はちょうどこれをテストし、それは風景モードとポートレートモードで動作します。
class GameViewController: UIViewController, ADBannerViewDelegate {
//--------------------
//-----iAd Banner-----
//--------------------
var SH = UIScreen.mainScreen().bounds.height
let transition = SKTransition.fadeWithDuration(0)
var UIiAd: ADBannerView = ADBannerView()
override func viewWillAppear(animated: Bool) {
let BV = UIiAd.bounds.height
UIiAd.delegate = self
UIiAd.frame = CGRectMake(0, SH + BV, 0, 0)
self.view.addSubview(UIiAd)
}
override func viewWillDisappear(animated: Bool) {
UIiAd.delegate = nil
UIiAd.removeFromSuperview()
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(0.5) // Time it takes the animation to complete
UIiAd.alpha = 1 // Fade in the animation
UIView.commitAnimations()
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(0.5)
UIiAd.alpha = 0
UIView.commitAnimations()
}
func showBannerAd() {
UIiAd.hidden = false
let BV = UIiAd.bounds.height
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(0.5) // Time it takes the animation to complete
UIiAd.frame = CGRectMake(0, SH - BV, UIScreen.mainScreen().bounds.width, 0)
UIView.commitAnimations()
}
func hideBannerAd() {
UIiAd.hidden = true
let BV = UIiAd.bounds.height
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(0.5) // Time it takes the animation to complete
UIiAd.frame = CGRectMake(0, SH + BV, UIScreen.mainScreen().bounds.width, 0) //Beginning position of the ad
UIView.commitAnimations()
}
//--------------------
//-----View Loads-----
//--------------------
override func viewDidLoad() {
super.viewDidLoad()
//iAd Control
self.UIiAd.hidden = true
self.UIiAd.alpha = 0
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(GameViewController.hideBannerAd), name: "hideadsID", object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(GameViewController.showBannerAd), name: "showadsID", object: nil)
}
クラスの宣言の外側に以下を追加します。あなたがどんなクラスに行くかは問題ではありません。グローバルであれば、どんなゲームシーンからでもアクセスできます。
//-------------
//-----Ads-----
//-------------
func showAds() {
NSNotificationCenter.defaultCenter().postNotificationName("showadsID", object: nil)
}
func hideAds() {
NSNotificationCenter.defaultCenter().postNotificationName("hideadsID", object: nil)
}
そして、あなたはちょうどそれらを非表示にする「showAds()」関数または「hideAdsを()」を呼び出し、特定のシーンまたはたびに広告を表示したいとき。
これは面白いかもしれません:https://developer.apple.com/news/?id=01152016a – Whirlwind
昨日あなたの助けをもう一度感謝します。あなたは実際にiAdsでこれについて確かですか?私はこれについて言及している多くの人を見ました。これまでのところ、ニュースはこれについて非常に曖昧です。一部の人は、自分のアプリを宣伝したい開発者にしか影響しないと言います。 APIを含め、すべてが閉鎖されていると言う人もいます。 6月に自動化されたサービスを利用していると言う人もいます。 iAdを使って広告を表示するだけの新しいアプリをAppleが拒否することを実際には今実際にしていますか? (新しい広告を作成するためにアプリネットワークを使用しないでください)。 – crashoverride777
iADが完全にシャットダウンしています。 – Loanb222