2013-02-17 4 views
0

.hAdMob Mediation SDK не бросает неудачные объявления?

#import <UIKit/UIKit.h> 
#import <iAd/iAd.h> 

#import "GADBannerView.h" 

@interface MasterTableViewController : UITableViewController <GADBannerViewDelegate >{ 

GADBannerView *bannerView_; 

} 

@end 

.m

#import "MasterTableViewController.h" 

@interface MasterTableViewController() 

@end 

@implementation MasterTableViewController 


- (id)initWithStyle:(UITableViewStyle)style 
{ 
    self = [super initWithStyle:style]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 

- (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error 
{ 
    NSLog(@"Ad failed"); 
    bannerView_.hidden = YES; 
} 

- (void)adViewDidRecieveAd:(GADBannerView *)view 
{ 
    NSLog(@"Ad recieved"); 
    bannerView_.hidden = NO; 
} 

- (void) repeatAdRequest 
{ 
    [bannerView_ loadRequest:[GADRequest request]]; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 


    [bannerView_ setDelegate:self]; 

    bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner]; 

    bannerView_.adUnitID = @"ID_HERE"; 

    bannerView_.rootViewController = self; 
    [self.view addSubview:bannerView_]; 

    [bannerView_ loadRequest:[GADRequest request]]; 

} 

Проблема заключается в том, когда я полностью отключить сеть на телефоне ни одно объявление не показывается (очевидно), но он также не бросает didFailToReceiveAdWithError. Затем я перехожу к повторной активации моей сети на своем телефоне, и ничего не происходит. Объявление не обновляется, если оно не работает? Я просмотрел многие другие сообщения, в которых утверждалось, что он может быть исправлен с помощью [bannerView_ setDelegate:self];, который приложение будет бросать, когда оно будет получать рекламу, или нет. Но я не могу понять это ... у кого-нибудь есть идеи?

ответ

1

Проблема в том, что вы пытаетесь установить делегат на объект nil ... прежде чем вы его выделите. Правильный порядок операций:

bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner]; 
[bannerView_ setDelegate:self]; 
Смежные вопросы