Перейти к основному содержимому
осторожно
iOS SDK 3.0.2 устарела. Stable версия - здесь.
Версия: 3.0.2

Баннеры

Классический тип рекламы, который обычно располагается внизу или вверху экрана приложения. Appodeal поддерживает стандартные размеры баннеров 320x50 для телефонов, 728x90 для планшетов и смарт баннеры на всю ширину экрана.

Проверка Загрузки

Вы можете проверить статус загрузки перед показом. Этот метод возвращает булевое значение, которое указывает, была ли загружена реклама.

Appodeal.isReadyForShow(with: .bannerTop)

Мы рекомендуем проверять статус загрузки перед показом рекламы.

Отображение

В Appodeal SDK Баннеры являются синглтонами: если на разных контроллерах у вас есть и bannerTop, и bannerBottom, то Appodeal SDK будет использовать для них один и тот же экземпляр Баннера. Баннеры обновляются автоматически каждые 15 секунд. Для отображения Баннера внизу экрана используйте следующий код:

Appodeal.showAd(.bannerBottom, rootViewController: self)

Отображение Баннера Вверху Экрана

Appodeal.showAd(.bannerTop, rootViewController: self)

Отображение Баннера С Правой Или Левой Стороны

Если ваше приложение использует ландшафтную ориентацию, вы можете показывать баннеры с левой или правой стороны. Такой баннер будет иметь отступ в соответствии с safe area layout guide.

предупреждение

Выключите banner smart sizing, если вы используете AppodealShowStyleBannerLeft или AppodealShowStyleBannerRight

// Overrides default rotation angles
// Appodeal.setBannerLeftRotationAngleDegrees(90, rightRotationAngleDegrees: 180)


Appodeal.showAd(.bannerLeft, forPlacement: placement, rootViewController: self)
// Appodeal.showAd(.bannerRight, forPlacement: placement, rootViewController: self)

Отображение Баннера В Программно Созданном Представлении

Вы можете добавить баннер в иерархию представлений вручную.

For example:

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if let banner = Appodeal.banner() {
self.view.addSubview(banner)
banner.frame = CGRect(x: 0, y: 0, width: self.view.bounds.width, height: 50)
}
}

Важно!

Пользовательский BannerView должен быть вверху иерархии и не должен перекрываться другими представлениями.

Методы Обратного Вызова

Методы обратного вызова позволяют отслеживать различные события в жизненном цикле рекламного блока, например, момент, когда пользователь нажал на рекламу или закрыл ее. Для их вызова установите следующее значение делегата:

//set delegate
Appodeal.setBannerDelegate(self)

Обычно класс, который работает с баннерами, одновременно является и классом делегата, поэтому в качестве свойства делегата можно указать self.

Теперь вы можете использовать следующие методы обратного вызова:

// banner was loaded (precache flag shows if the loaded ad is precache)
func bannerDidLoadAdIsPrecache(_ precache: Bool) {}
// banner was shown
func bannerDidShow() {}
// banner failed to load
func bannerDidFailToLoadAd() {}
// banner was clicked
func bannerDidClick() {}
// banner did expire and could not be shown
func bannerDidExpired() {}
подсказка

Все функции обратного вызова вызываются в главном потоке.

предупреждение

Если включено автоматическое кеширование для типа рекламы Баннер, не используйте метод обратного вызова bannerDidLoadAdIsPrecache для показа рекламы. Баннер будет обновляться автоматически после первого показа.

Скрытие

Чтобы удалить Баннер из иерархии представлений:

Appodeal.hideBanner()

Плейсменты

Appodeal SDK позволяет вам отмечать показы различными тегами с помощью плейсментов. Для использования данной функции вам необходимо создать плейсмент в настройках вашего приложения. Больше информации о плейсментах в нашем руководстве.

Appodeal.showAd(.bannerTop, forPlacement: placement, rootViewController: self)

Если загруженный креатив не может быть показан для настроек выбранного плейсмента, показа не будет. Если включен автоматический режим загрузки рекламных креативов, SDK начнет грузить новый рекламный креатив, что может повлиять на display rate вашего приложения. В подобных случаях мы рекомендуем проверять возможность показа с помощью метода canShow:

Appodeal.canShow(.bannerTop, forPlacement: placement)

Вы можете настраивать логику показа для каждого плейсмента.

Если в приложении нет настроенных плейсментов или вы пробуете показать рекламу для плейсмента который не существует в настройках вашего приложения, каждый показ будет записан в плейсмент с именем 'default' и будут применены его настройки.

Важно!

Настройки плейсментов влияют только на показ рекламы и не влияют на ее загрузку.

Расширенные Возможности Интеграции

Если классические методы отображения Баннеров не подходят для вашего приложения вы можете использовать AppodealBannerView - UIView сабкласс для реализации:

import UIKit
import Appodeal

class YourViewController : UIViewController, AppodealBannerViewDelegate {

override func viewDidLoad () {
super.viewDidLoad()
// required: init ad banner
var bannerView: AppodealBannerView!
bannerView.init(size: bannerSize, rootViewController: self);

// optional: set delegate
bannerView.setDelegate(self);

// required: add banner to superview and call -loadAd to start banner loading
self.view addSubview(bannerView);
bannerView.loadAd();
}

// optional: implement any of AppodealBannerViewDelegate methods
func bannerViewDidLoadAd(_ bannerView: APDBannerView, isPrecache precache: Bool) {
NSLog("bannerView was loaded")
}

func bannerView(_ bannerView: APDBannerView, didFailToLoadAdWithError error: Error) {
NSLog("bannerView failed to load");
}

func bannerViewDidInteract(_ bannerView: APDBannerView) {
NSLog("bannerView was clicked")
}

func bannerViewDidShow(_ bannerView: APDBannerView) {
NSLog("bannerView was shown")
}

func bannerViewExpired(_ bannerView: APDBannerView) {
NSLog("bannerView did expire and could not be shown")
}
}

Включение Смарт Баннеров

Смарт-баннеры – это баннеры, которые автоматически подстраиваются под размеры экрана/контейнера. Их использование позволяет добиться корректного отображения рекламы на устройствах с любым размером экрана. Для того, чтобы подключить их, используйте следующий метод:

//for top/bottom banners allows banner view to resize automatically to fit device screen
Appodeal.setSmartBannersEnabled(true)
//for banner view allows banner view to resize automatically to fit device screen
bannerView.usesSmartSizing = true

Изменение Фона Для Баннеров

Этот метод позволяет создать фон серого цвета для Баннеров:

//for top/bottom banners
Appodeal.setBannerBackgroundVisible(true)

//for bannerView
bannerView.backgroundVisible = true

Включение Анимации При Смене Баннеров

//for top/bottom banners
Appodeal.setBannerAnimationEnabled(true)

//for bannerView
bannerView.bannerAnimationEnabled = true

Получение Прогнозируемого eCPM

Этот метод возвращает ожидаемый eCPM для загруженного креатива. Цена высчитывается из исторических данных для конкретного рекламного блока.

Appodeal.predictedEcpm(for: .banner)

Проверка Инициализации

Appodeal.isInitialized(for: .banner)

Возвращает true, если Баннерная реклама была инициализирована.

Проверка Типа Кеширования

Appodeal.isAutocacheEnabled(.banner)

Возвращает true, если было включено автоматическое кеширование для Баннерной рекламы.