我正在尝试将 iAD 显示到我的 cocos2d 游戏场景中。我能够成功显示广告,但我希望仅在显示广告时才能在屏幕上显示视图控制器。
因此,为此我尝试使用 -(void)bannerViewDidLoadAd:(ADBannerView *)banner 方法,如果我将它添加到我的视图控制器实现中,我相信它会被调用。但它根本没有被调用。下面是我的代码。
如果我做错了什么,请告诉我。谢谢 :)
BannerAd.h
@interface BannerAd: UIViewController <ADBannerViewDelegate>
{
id delegate;
}
@property (nonatomic, retain) ADBannerView *adView;
-(id)init: (id) dele;
-(void) removeAd;
-(void) bannerViewDidLoadAd:(ADBannerView *)banner;
@end
BannerAd.m
@implementation BannerAd
@synthesize adView = adView_;
-(id)init: (id) dele
{
if((self=[super init]))
{
NSLog(@"init called, delegate set");
delegate = dele;
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
self.adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
[self.view addSubview:self.adView];
}
-(void) bannerViewDidLoadAd:(ADBannerView *)banner
{
NSLog(@"AD did load");
}
在我的游戏场景(cocos2d 场景)中,我称之为:
BannerAd *bannerAdDetailView = [[BannerAd alloc] init];
[bannerAdDetailView init:self];
[[[CCDirector sharedDirector]view] addSubview:bannerAdDetailView.view];
[bannerAdDetailView.view setFrame:CGRectMake(0, 0, 320, 568)];
请告诉我如何确保在加载广告时通知我的应用程序。
谢谢!!