2015-01-26 155 views
0

我已经在使用cocos2d做了一个游戏,并且在appdelegate中集成了admob横幅,以便它显示在所有视图控制器上。我实施了“游戏结束”屏幕中发生的移除广告功能。这是我的问题。删除广告功能可以正常工作,但不会立即生效。我必须杀死该应用程序,然后重新启动它,以便横幅消失。有没有办法只是重新加载appdelegate,广告立即被删除,而不必重新加载应用程序?请帮助这让我疯狂。立即删除AdMob横幅广告?

编辑:这是我的当前代码。旗帜负载时,应用程序加载我想提出的旗帜AWAY去当用户购买删除它,而无需重新启动APP(关闭应用程序RESTART)

AppDelegate.h

#import "GADBannerViewDelegate.h" 


// Added only for iOS 6 support 
@interface MyNavigationController : UINavigationController <CCDirectorDelegate> 
@end 
@class RootViewController; 
@class GADBannerView, GADRequest; 
@interface AppController : NSObject <UIApplicationDelegate,ADBannerViewDelegate,UIActionSheetDelegate, GKLeaderboardViewControllerDelegate, GameCenterManagerDelegate,ChartboostDelegate,GADBannerViewDelegate> 
{ 
    UIWindow *window_; 
    MyNavigationController *navController_; 

    CCDirectorIOS *director_; 
    UIViewController *tempVC;      // weak ref 
    RootViewController *viewController_; 

    //Admob 
    GADBannerView *bannerView_; 
    BOOL isAdPositionAtTop_; 
} 

的AppDelegate .mi如果移除广告组为“否”,则使用calladmob开始广告

-(void)callAdMob{ 
//Admob ads 
CGPoint origin = CGPointMake(0.0,self.window.frame.size.height -CGSizeFromGADAdSize(kGADAdSizeSmartBannerPortrait).height); 
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait origin:origin]; 
bannerView_.adUnitID = @"idhere"; 
bannerView_.delegate = self; 
[bannerView_ setRootViewController:tempVC]; 
CGRect adBannerViewFrame = [bannerView_ frame]; 
int lSizeValue=0; 
if([[CCDirector sharedDirector] winSize].width==320) 
    lSizeValue=50; 
else if([[CCDirector sharedDirector] winSize].width==768) 
    lSizeValue=66; 
adBannerViewFrame.origin.x = 0; 
adBannerViewFrame.origin.y = [[CCDirector sharedDirector] winSize].height-lSizeValue; 
[bannerView_ setFrame:adBannerViewFrame]; 
[[self navController].view addSubview:bannerView_]; 
[bannerView_ loadRequest:[self createRequest]];} 

回答

0

为什么不从“删除广告”功能发送通知?

然后任何地方,你有一个AdMob的旗帜,你可以添加手表该通知,并且被称为会做一些这样的方法的观察者:

[bannerView removeFromSuperview] or bannerView.hidden = YES

只要你有你的AdMob横幅连接到IBOutlet

+0

我的旗帜载入应用程序加载和保持在所有视图控制器的时刻。我拥有横幅代码的唯一地方是在appdelegate中。你的建议不起作用。 – dvtrjosh 2015-01-26 23:35:13

+0

您可能需要编辑您的问题以更好地描述您的横幅是如何添加的,并显示是否有任何一种IBOutlet连接到它。 – 2015-01-27 00:07:08