2015-01-25 2 views
0
-(void)viewDidLoad{ 

    self.bannerView = [[ADBannerView alloc] initWithFrame:CGRectMake(0.0f, 60.0f, 320.0f, 50.0f)]; 
    [self.bannerView setDelegate:self]; 
    [self.view addSubview:self.bannerView]; 
} 


-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{ 

    [bannerView setDelegate:self]; 
    [bannerView setAlpha:0]; 
    bannerView.hidden=YES; 
} 

Как только loadDidLoad загружается и до загрузки iAd, перед баннером iAd всегда появляется белый пустой баннер. Я не установил AdBannerView в раскадровку. Что я могу сделать, чтобы убедиться, что iAd отсутствует, так как там также не должно быть пробелов?iAd white banner не исчезнет

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{ 

    admobBannerView=[[GADBannerView alloc]initWithFrame:CGRectMake(0, 0, 320, 50)]; 

self.admobBannerView.adUnitID = @"UNIT-ID"; 
self.admobBannerView.rootViewController = self; 
self.admobBannerView.delegate = self; 

[self.view addSubview:self.admobBannerView]; 

GADRequest *request =[GADRequest request]; 

request.testDevices= @[ GAD_SIMULATOR_ID ]; 

[self.admobBannerView loadRequest:request]; 
} 

ответ

1

Скрыть вид объявления на его создание, так как требуется время для первого объявления для загрузки или не, например:

-(void)viewDidLoad { 

    self.bannerView = [[ADBannerView alloc] initWithFrame:CGRectMake(0.0f, 60.0f, 320.0f, 50.0f)]; 
    [self.bannerView setDelegate:self]; 
    self.bannerView.hidden = YES; <-- Hide it 
    [self.view addSubview:self.bannerView]; 
} 

Затем сделать его снова, как только нагрузки объявлений, например:

- (void)bannerViewDidLoadAd:(ADBannerView *)banner 
{ 
    self.bannerView.hidden = NO; 
} 

И что касается кода, который сейчас используется в вашем методе didFailToReceiveAdWithError:, вам не нужно устанавливать альфа-значение в 0 или снова задавать делегат. Кроме того, любое упоминание о bannerView в didFailToReceiveAdWithError: должны быть либо self.bannerView или banner, например:

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{ 
    self.bannerView.hidden=YES; 
} 
+0

self.bannerView.hidden = ДА; in viewDidLoad делает баннер полностью исчезающим и никогда не появляется. Мне просто нужно, чтобы пробел исчезал до загрузки iAd. – aliya

+0

@aliya Вам нужно сделать это снова в 'bannerViewDidLoadAd:' –

+0

Это сработало для части белого пространства, но теперь в viewDidLoad iAd и AdMob появляются и нет, если инструкция if/else работает с .hidden = YES/NO. – aliya

Смежные вопросы