2013-02-17 56 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

问题是,您正试图在分配它之前将委托设置在零对象上。正确的操作顺序是

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