Баннер iAds не появляется

Я добавил iAd framework. Я перетаскиваю iAdBannerView на контроллер представления. Затем я устанавливаю ограничения для баннера. Далее я подключил баннер к файлу ViewController.swift. После этого я написал этот код: -

Поверх файла:

import iAd
class ViewController: UIViewController, UITextFieldDelegate, ADBannerViewDelegate 

{

Создание торговой точки:

@IBOutlet var adBannerView: ADBannerView!

В viewDidLoad():

self.canDisplayBannerAds = true
self.adBannerView.delegate = self
self.adBannerView.hidden = true

Затем я создал эти две функции:

func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {

    return true

}

func bannerViewDidLoadAd(banner: ADBannerView!) {

    adBannerView.hidden = false
}

Это все, что я сделал. Я не заполнял никакую форму в iTunes, не подключался и не импортировал какую-либо другую структуру, связанную с iAds. Это буквально все, что я сделал.

Но все же, когда я запустил приложение на симуляторе, баннер iAd не появился. Он даже не показывал рекламу Apple. Вообще ничего. Он просто слился с приложением. Я запустил приложение на своем телефоне, и все равно ничего. Я загрузил приложение в AppStore и по-прежнему ничего не вижу, когда загружаю свое приложение из AppStore. Есть идеи, что здесь пошло не так? Заранее спасибо :)


person Krish Wadhwana    schedule 11.12.2015    source источник
comment
у вас проблемы с устройством или симулятором. В Индии и некоторых других странах iAd не работает на устройстве, но определенно работает на симуляторе.   -  person vaibby    schedule 11.12.2015
comment
@vaibby У меня проблема как на устройстве, так и на симуляторе   -  person Krish Wadhwana    schedule 11.12.2015
comment
попробуйте поработать над ограничениями, которые вы установили в adBannerView. Также проверьте высоту/ширину вида   -  person vaibby    schedule 11.12.2015
comment
@vaibby Я попытался напечатать рамку баннера, и она попала в рамку представления именно там, где должна быть. Но не появляется почему-то.   -  person Krish Wadhwana    schedule 11.12.2015
comment
Вы также должны добавить метод func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) и вывести ошибку, чтобы вы знали, на что жалуется iAd. Как уже было предложено vaibby, проверьте размеры вида рекламного баннера - см. также мой ответ там   -  person Rainer Schwarze    schedule 11.12.2015
comment
@RainerSchwarze Ранее я добавил эту функцию, но неоднократно получал сообщение об ошибке. Также нет проблем с ограничениями.   -  person Krish Wadhwana    schedule 11.12.2015
comment
Какую ошибку вы получили?   -  person Rainer Schwarze    schedule 11.12.2015
comment
@RainerSchwarze Я получил ошибку I, которую хотел напечатать, если не удалось загрузить вид баннера.   -  person Krish Wadhwana    schedule 11.12.2015
comment
Можете ли вы скопировать и вставить точное сообщение об ошибке?   -  person Rainer Schwarze    schedule 11.12.2015
comment
Видите, все, что я сделал, это написал этот код-func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { print("Error!") } В консоли я получил ошибку - Error!   -  person Krish Wadhwana    schedule 11.12.2015


Ответы (1)


Создайте отдельную функцию и введите ее в viewDidLoad (это поможет организовать). После того, как вы закончите с этим, введите это.

func iAD() {

    bannerView = ADBannerView(adType: .Banner)
    bannerView.translatesAutoresizingMaskIntoConstraints = false
    bannerView.delegate = self
    bannerView.hidden = true
    view.addSubview(bannerView)

    let viewsDictionary = ["bannerView": bannerView]
    view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[bannerView]|", options: [], metrics: nil, views: viewsDictionary))
    view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:[bannerView]|", options: [], metrics: nil, views: viewsDictionary))
}

func bannerViewDidLoadAd(banner: ADBannerView!) {
    bannerView.hidden = false
}

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    bannerView.hidden = true
}

Затем, когда вы откроете его, вы должны получить что-то вроде этого

person Tuple Dev    schedule 11.12.2015
comment
Это не сработало. Ничего не появилось. Баннеру не удалось получить рекламу. - person Krish Wadhwana; 11.12.2015