Spritekit - 如何隐藏特定场景的iAd横幅广告?
问题描述:
我目前正在开发一个Spritekit项目。Spritekit - 如何隐藏特定场景的iAd横幅广告?
我有3个场景:MainMenu的,游戏,GAMEOVER
我想有网络成瘾显示,只有当用户在游戏场景和GAMEOVER现场。
这是我ViewController.m增加iAd我当前的代码:
- (void) viewWillLayoutSubviews
{
// For iAds
_bannerView = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];
_bannerView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
_bannerView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth;
_bannerView.delegate = self;
_bannerView.hidden = YES;
[self.view addSubview:_bannerView];
}
#pragma mark - iAds delegate methods
- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
// Occurs when an ad loads successfully
_bannerView.hidden = NO;
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
// Occurs when an ad fails to load
_bannerView.hidden = YES;
}
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave {
// Occurs when the user taps on ad and opens it
return YES;
}
- (void)bannerViewActionDidFinish:(ADBannerView *)banner {
// Occurs when the ad finishes full screen
}
的问题是,因为MainMenu的场面,以显示第一现场,旗帜显示有在成功加载广告。 我该如何让它仅在用户处于游戏场景和Gameover场景时出现?
答
这里最好的方法是使用你的NSNotificationCenter:
注册通知 - (void) viewWillLayoutSubviews
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"hideAd" object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"showAd" object:nil];
这里办理通知
- (void)handleNotification:(NSNotification *)notification
{
if ([notification.name isEqualToString:@"hideAd"])
{
// hide your banner;
}else if ([notification.name isEqualToString:@"showAd"])
{
// show your banner
}
}
而在你scense
[[NSNotificationCenter defaultCenter] postNotificationName:@"showAd" object:nil]; //Sends message to viewcontroller to show ad.
[[NSNotificationCenter defaultCenter] postNotificationName:@"hideAd" object:nil]; //Sends message to viewcontroller to hide ad.
谢谢,祝你好运。
我试过这个,这对我很有用。谢谢! – aresz 2014-09-01 02:11:34