Рекламный баннер перемещается из позиции, показывая не в порядке
У меня есть 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
}
Иногда реклама отображается во время игры, иногда вверху, а иногда внизу.
Мои вопросы:
- Как мне расположить его сверху?
- Как сделать так, чтобы он перестал появляться во время игры?
- Как мне сделать так, чтобы это перестало толкать вид вверх?
- Как мне заставить его перестать показывать, если не удалось загрузить (в настоящее время он показывает)
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Я попробовал этот код в 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
,