2013-05-01 3 views
1

Мне сложно понять, как работает вся реализация iAd! после серфинга на форуме и попыток множества разных методов - я все еще не нашел решение для своей проблемы! Я сделал приложение с контроллером навигации и множеством контроллеров. Im используя этот код, чтобы показать объявление в моем ViewController.h:обмен баннером iAd на разные виды в раскадровке?

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


@interface ViewController : UIViewController <ADBannerViewDelegate> 


@end 

-им мой ViewController.m:

#import "ViewController.h" 


@interface ViewController() 

@end 

@implementation ViewController 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

-(void)bannerViewDidLoadAd:(ADBannerView *)banner { 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1]; 
    [banner setAlpha:1]; 
    [UIView commitAnimations]; 


} 

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error { 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1]; 
    [banner setAlpha:0]; 
    [UIView commitAnimations]; 
} 


@end 

Тогда я просто перетащить знамя ОВР из раскадровки в мой ViewController и установить его alpha до 0. это действительно работает - поэтому баннер появляется, когда есть соединение и исчезает, когда нет соединения. проблема в том, что я получаю это предупреждение. В настоящее время существует более 10 экземпляров ADBannerView или ADInterstitialView. Это неправильное использование API iAd, и в результате пострадает производительность рекламы. Это сообщение печатается только один раз. Я уже знаю, почему это происходит, спасибо вам, ребята ... но я понятия не имею, как это исправить! Это было здорово, если бы кто-то мог помочь мне с этим, я пробовал это уже несколько дней! Я должен сказать, что я только что начал с xcode, поэтому для меня это сложно.

благодарит заранее!

+0

Пожалуйста, не забудьте выбрать ответ! ;) –

ответ

0

Хм, я не могу сообщить вам сообщение об ошибке, которое вы получите. Но это то, что работает для меня:

ViewController.m:

#import <iAd/iAd.h> 

@property (nonatomic, retain) IBOutlet ADBannerView *adView; 

добавить эту строку в контроллер представления и подключить выход к объекту ОВР на раскадровке. Также установите делегат iAd в ViewController. Затем добавьте эти два метода контроллера вида:

- (void)bannerViewDidLoadAd:(ADBannerView *)banner 
{ 
    [_adView setHidden:NO]; 
} 

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{ 
    [_adView setHidden:YES]; 
} 

Вот, теперь вы должны увидеть тестовое объявление ОВР в тренажере и никаких сообщений об ошибках не отображаются для меня.

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