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]];}
我的旗帜载入应用程序加载和保持在所有视图控制器的时刻。我拥有横幅代码的唯一地方是在appdelegate中。你的建议不起作用。 – dvtrjosh 2015-01-26 23:35:13
您可能需要编辑您的问题以更好地描述您的横幅是如何添加的,并显示是否有任何一种IBOutlet连接到它。 – 2015-01-27 00:07:08