Рекламный баннер перемещается из позиции, показывая не в порядке

У меня есть AdBannerView внутри моей игры, но он продолжает показываться в случайном порядке, хотя я установил его скрытым, он выскакивает снизу, толкая вид вверх.

Вот код, который у меня есть в GameScene:

var iAd = ADBannerView()

  override func didMoveToView(view: SKView) {

        iAd.delegate = self
        iAd.hidden = true
        iAd.autoresizingMask = UIViewAutoresizing.FlexibleTopMargin

        view.addSubview(iAd)

}

    func bannerViewDidLoadAd(banner: ADBannerView!) {
        if (!isStarted){  // <- If game has started

            iAd.hidden = false
        } 
    }

    func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {

        print("Ad Fail")
        iAd.hidden = true
    }

func newGame() {

iAd.hidden = true
}

func gameOver() {

iAd.hidden = false
}

Иногда реклама отображается во время игры, иногда вверху, а иногда внизу.

Мои вопросы:

  1. Как мне расположить его сверху?
  2. Как сделать так, чтобы он перестал появляться во время игры?
  3. Как мне сделать так, чтобы это перестало толкать вид вверх?
  4. Как мне заставить его перестать показывать, если не удалось загрузить (в настоящее время он показывает)

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Я попробовал этот код в ViewController, но в итоге получил те же результаты.

2 ответа

Для вопроса 1: Вы установили свойство frame для размещения рекламного баннера:

iAd.frame = CGRectMake(0, view.frame.size.height - iAd.frame.size.height, view.frame.size.width, iAd.frame.size.height);

Похоже, вы создали ADBannerView в Интерфейсном Разработчике в дополнение к включению self.canDisplayBannerAds где-то в вашем проекте.

ADBannerView отображение в нижней части экрана вашего устройства создается self.canDisplayBannerAds = true, self.canDisplayBannerAds = true может быть использован для простой реализации баннеров iAd в вашем приложении. Это создаст ADBannerView для вас и показать или скрыть ADBannerView в зависимости от того, получает ли он рекламу из сети iAd или нет.

Если вы включили self.canDisplayBannerAds = true в вашем проекте его нужно удалить.

Что касается сокрытия ADBannerView когда он не получает рекламу, вам необходимо реализовать ADBannerViewметоды делегата: Ссылка на протокол ADBannerViewDelegate. Затем в bannerView(_:didFailToReceiveAdWithError:) вы бы установили свой ADBannerView"s alpha собственность на 0,

Другие вопросы по тегам