2014-02-04 2 views
1

Im в настоящее время реализует iAd в своем первом приложении для iPhone. Моя проблема, с которой я столкнулся, заключается в обнаружении, если на моем контроллере просмотра есть объявление межстраничного объявления. Потому что, если нет объявления, я хотел бы показать другое представление.Обнаружить, если отображается рекламное объявление

Я читал руководство по программированию iAd, а затем нашел ссылку «UIViewController iAd Additions Reference» в документах. Это говорит мне, что мой контроллер просмотра теперь имеет новое свойство, называемое presentingFullScreenAd.

Проблема заключается в том, что когда я вызываю его в viewDidLoad, viewWillAppear или viewDidAppear, он возвращает NO. За исключением случаев, когда я закрываю объявление (если был показ объявления), он возвращает YES в viewWillAppear и viewDidAppear, но слишком поздно.

Я установил interstitialPresentationPolicy контроллера вида, который показывает объявление ADInterstitialPresentationPolicyAutomatic, потому что я хочу, чтобы оно показывало объявление как можно чаще.

Любые идеи об этом? Спасибо заранее.

+0

Не существует метода делегирования для ошибки. Если объявление не отображается, оно пойдет в их .... Я помню, что выполнял аналогичную проверку, но это не было для межстраничного – logixologist

+0

Также попробуйте это ... похоже, что есть .loaded свойство: https://developer.apple .com/library/ios/documentation/iAd/Reference/ADInterstitialAd_Ref/Introduction/Introduction.html – logixologist

+0

Да, я также видел это, но я понял, что ADInterstitialAd calss использовался только для iPad. На платформе iPhone рекламу будет обрабатывать контроллер iAd Additions. В противном случае, как я могу получить доступ к межстраничному вызову? Я только что вызвал prepareInterstitialAds на моем диспетчере представлений при запуске в первый раз. – user3273046

ответ

3

Возможно, вы захотите установить таймер, чтобы отменить запрос для межстраничного объявления через определенное время, чтобы вы могли показать следующее представление, если объявление не заполняется незамедлительно. Перед показом рекламного объявления interstitialAdDidLoad. Таким образом, если объявление загрузилось, объявление теперь отображается на экране, пока оно не будет отклонено, где будут вызываться interstitialAdDidUnload и interstitialAdActionDidFinish. Прослушайте эти методы делегатов, чтобы определить, включено ли в настоящее время межстраничное объявление.

-(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd { 
    NSLog(@"interstitialAdDidLOAD"); 

    [interstitial presentFromViewController:self]; 
    NSLog(@"interstitialAdDidPRESENT"); 
} 

-(void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd { 
    NSLog(@"interstitialAdDidUNLOAD"); 
} 

-(void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd { 
    NSLog(@"interstitialAdDidFINISH"); 
} 

Также см. UIViewController iAd Additions Reference.

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