Остановить методы обратного вызова iAd

Я настроил iAd в своем приложении для iOS. Когда я увидел скорость заполнения, она очень низкая. Поэтому я хотел бы вставить баннер AdMob (другого поставщика рекламы), когда баннер iAd сделал FailToReceiveAdWithError.

Процесс идет хорошо, но я не нахожу способ остановить iAd для вызова запроса. Итак, если iAd bannerViewDidLoadAd, мое приложение отображает оба баннера.

Есть ли способ остановить запрос iAd?


person Alexandre    schedule 25.10.2013    source источник


Ответы (2)


Установите для делегата iAd значение nil, а также установите для баннера iAd значение nil. Установив для делегата значение nil, вы больше не будете получать обратный вызов.

person Andrea    schedule 25.10.2013
comment
Когда я это делаю, [banner setdelegate:nil],banner=nil; Я все еще получаю методы обратного вызова. [AppDeveloper] ADBannerView: необработанная ошибка (ни один делегат или делегат не делает [...]. Так что это работает, но правильно ли это сделать? - person Alexandre; 25.10.2013
comment
вероятно, баннер все еще принадлежит кому-то ... не забудьте также удалить его из супервизора, их цель - освободить его - person Andrea; 25.10.2013
comment
Вы были правы, мой баннер обрабатывается в одноэлементном классе, но мне также пришлось установить его равным нулю в моем контроллере представления. Я не уверен, что всегда понимаю механизм ARC;). Итак, спасибо за вашу помощь! - person Alexandre; 25.10.2013

Более чистый способ справиться с этим — использовать посредника, такого как Admob, для показа обоих видов рекламы. Когда ваш первый вариант не работает, он обрабатывает откат к вашим 2-му и 3-му, 4-му, 5-му вариантам.

person William    schedule 25.10.2013