Swift: 去除Spritekit中不同场景的广告
Swift: Remove ads different scene in Spritekit
我正在使用 MoPub 横幅广告,我将以下代码添加到我的视图控制器的 viewDidLoad 中:
self.adView.delegate = self
self.adView.frame = CGRectMake(0, self.view.bounds.size.height - MOPUB_BANNER_SIZE.height,
MOPUB_BANNER_SIZE.width, MOPUB_BANNER_SIZE.height)
self.view.addSubview(self.adView)
self.adView.loadAd()
但是当我只希望广告在主菜单场景中可见时,它使广告在所有场景中都可见。
如何去除我不希望出现的场景中的广告?
这可能不是最好的方法,但可能是最简单的方法。您可以使用 NSNotification
向您的 ViewController
广播消息,无论何时您希望显示或隐藏您的横幅。
例如,如果您在 init
或 viewDidLoad
上的 ViewController
中添加一个 "observer":
NSNotificationCenter.defaultCenter().addObserver(
self,
selector: "hideBannerAd",
name: "hideAd",
object: nil)
让 ViewController
监听一个名为 "hideAd"
的消息,然后执行一个名为 hideBannerAd
的方法。
然后实现这个方法:
func hideBannerAd(){
self.adView.hidden = true
}
一定要删除 deinit
上的观察者,这不太可能成为 SpriteKit
中 ViewController
的持久性问题,但这是一个很好的做法。
deinit{
NSNotificationCenter.defaultCenter().removeObserver(self)
}
然后,当您想要显示或隐藏视图时,例如在场景转换或游戏结束方法中,您可以通过使用以下方法触发观察者来实现此 hideBannerAd
方法:
NSNotificationCenter.defaultCenter().postNotificationName("hideAd", object: nil)
横幅应该隐藏起来。然后可以通过将 hidden
属性 设置为 false
来针对类似的 showBannerAd
方法重复此操作,或者您可以使用一个方法来简单地切换隐藏的 属性 ] 使用 adView.hidden = !adView.hidden
.
希望对您有所帮助。
我正在使用 MoPub 横幅广告,我将以下代码添加到我的视图控制器的 viewDidLoad 中:
self.adView.delegate = self
self.adView.frame = CGRectMake(0, self.view.bounds.size.height - MOPUB_BANNER_SIZE.height,
MOPUB_BANNER_SIZE.width, MOPUB_BANNER_SIZE.height)
self.view.addSubview(self.adView)
self.adView.loadAd()
但是当我只希望广告在主菜单场景中可见时,它使广告在所有场景中都可见。
如何去除我不希望出现的场景中的广告?
这可能不是最好的方法,但可能是最简单的方法。您可以使用 NSNotification
向您的 ViewController
广播消息,无论何时您希望显示或隐藏您的横幅。
例如,如果您在 init
或 viewDidLoad
上的 ViewController
中添加一个 "observer":
NSNotificationCenter.defaultCenter().addObserver(
self,
selector: "hideBannerAd",
name: "hideAd",
object: nil)
让 ViewController
监听一个名为 "hideAd"
的消息,然后执行一个名为 hideBannerAd
的方法。
然后实现这个方法:
func hideBannerAd(){
self.adView.hidden = true
}
一定要删除 deinit
上的观察者,这不太可能成为 SpriteKit
中 ViewController
的持久性问题,但这是一个很好的做法。
deinit{
NSNotificationCenter.defaultCenter().removeObserver(self)
}
然后,当您想要显示或隐藏视图时,例如在场景转换或游戏结束方法中,您可以通过使用以下方法触发观察者来实现此 hideBannerAd
方法:
NSNotificationCenter.defaultCenter().postNotificationName("hideAd", object: nil)
横幅应该隐藏起来。然后可以通过将 hidden
属性 设置为 false
来针对类似的 showBannerAd
方法重复此操作,或者您可以使用一个方法来简单地切换隐藏的 属性 ] 使用 adView.hidden = !adView.hidden
.
希望对您有所帮助。