我在这个游戏中使用cocos2d-iphone。在Layer中,我将admob添加为弹出式广告。我想将一个ccMenu与admob视图一起添加,以便在单击ccmenuItem后可以删除admob视图。但是我如何知道加载admob视图的时间?
我尝试了下面的方法,但菜单项和admob视图无法同时加载:
UIViewController *controller=[CCDirector sharedDirector];
CGSize size=[[CCDirector sharedDirector]winSize];
controller.view.frame=CGRectMake(0, 0, size.width, size.height);
_bannerViewTable=[[GADBannerView alloc] initWithFrame:CGRectMake(50, 50, GAD_SIZE_300x250.width, GAD_SIZE_300x250.height)];
_bannerViewTable.adUnitID=@"xxxxxxxxxx";
[_bannerViewTable setRootViewController:controller];
[_bannerViewTable loadRequest:[GADRequest request]];
if (_bannerViewTable!=nil) {
CCLOG(@" _bannerViewTable!=nil");
CCCallFunc *loadView=[CCCallFunc actionWithTarget:self selector:@selector(loadAdTable)];
CCCallFunc *addRemove=[CCCallFunc actionWithTarget:self selector:@selector(addMenuToLayer)];
CCSequence *seq=[CCSequence actionOne:loadView two:addRemove];
[self runAction:seq];
}else{
CCLOG(@" _bannerViewTable=nil");
}
-(void)loadAdTable
{
UIViewController *controller=[CCDirector sharedDirector];
[controller.view addSubview:_bannerViewTable];
}
-(void)addMenuToLayer
{
CCSprite *removeBtn=[CCSprite spriteWithSpriteFrameName:@"minus1.png"];
CCMenuItemSprite *removeImg=[CCMenuItemSprite itemWithNormalSprite:removeBtn selectedSprite:nil target:self selector:@selector(removeAdTable)];
removeImg.position=ccp(343, 282);
menu=[CCMenu menuWithItems:removeImg, nil];
menu.anchorPoint=CGPointZero;
menu.position=CGPointZero;
[self addChild:menu z:1];
}
如何在加载admob视图的同时添加删除ccMenuItem?
答案 0 :(得分:0)
您可能应该实施GADBannerViewDelegate,因为它会在收到广告时以及何时展示广告时进行报告。
如果您在班级中实施,则可以触发删除ccMenuItem。