2013-07-02 5 views
3

iCard를 게임 장면에 표시하려고합니다. 성공적으로 광고를 표시 할 수 있지만 광고가 표시 될 때만 화면에보기 컨트롤러를 표시 할 수 있기를 원합니다.iAD 메소드를 호출하는 방법은 무엇입니까?

그래서이 뷰 컨트롤러 구현에 추가 한 경우 - (void) bannerViewDidLoadAd : (ADBannerView *) 배너 메서드를 사용하여 호출 할 것이라고 믿었습니다. 그러나 그것은 전혀 불리지 않는다. 아래는 제 코드입니다.

당신은 친절하게 내가 잘못 아무것도하고 있으면 알려 주시기 수 있습니다. 감사합니다 :)

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

내 게임 장면 (적인 Cocos2D 장면) 내가이 전화 내부
@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"); 
} 

: 친절하게 알려

BannerAd *bannerAdDetailView = [[BannerAd alloc] init]; 
    [bannerAdDetailView init:self]; 
    [[[CCDirector sharedDirector]view] addSubview:bannerAdDetailView.view]; 
    [bannerAdDetailView.view setFrame:CGRectMake(0, 0, 320, 568)]; 

을 광고가로드 될 때 내 앱에 알릴 수있는 방법.

감사합니다.

답변

0

당신이 사용할 수있는 Ad Banner View Delegate Protocol : - bannerViewDidLoadAd :이 방법은 눈에 보이는 배너보기를 설정할 수 있습니다. 로드 된 광고가없는 경우 다음을 참조하십시오 : Hide Bannerview when no ad was received.

+1

내가 언급 한 것처럼, 나는 어느 것을 사용해야하는지 알고있다. 나는 그것을 구현하는 데 문제가있다. bannerViewDidLoadAd 메서드가 호출되지 않습니다. 적절한 위치에 추가합니까? 감사 – AbhinavVinay

4

당신은 (viewDidLoad 방법 추가)을 ADBannerView 대리자를 설정해야합니다

self.adView.delegate = self; 

이 메서드 호출 bannerViewDidLoadAd의 대상이되는 배너보기를 알려줍니다. 이 경우 귀하의보기 컨트롤러.

관련 문제