Баннеры
Классический тип рекламы, который обычно располагается внизу или вверху экрана приложения. Appodeal поддерживает стандартные размеры баннеров 320x50 для телефонов, 728x90 для планшетов и смарт баннеры на всю ширину экрана.
Вы можете использовать наше демо приложение в качестве примера по интеграции.
Демо приложение
Баннер С Фиксированной Позицией
Отображение
В Appodeal SDK Баннеры являются синглтонами: если на разных контроллерах у вас есть и bannerTop, и bannerBottom, то Appodeal SDK будет использовать для них один и тот же экземпляр Баннера. Баннеры обновляются автоматически каждые 15 секунд. Для отображения Баннера внизу экрана используйте следующий код:
- Swift
- Objective-C
Appodeal.showAd(.bannerBottom, rootViewController: self)
[Appodeal showAd:AppodealShowStyleBannerBottom rootViewController:self];
Отображение Баннера Вверху Экрана
- Swift
- Objective-C
Appodeal.showAd(.bannerTop, rootViewController: self)
[Appodeal showAd:AppodealShowStyleBannerTop rootViewController:self];
Отображение Баннера С Правой Или Левой Стороны
Если ваше приложение использует ландшафтную ориентацию, вы можете показывать баннеры с левой или правой стороны. Такой баннер будет иметь отступ в соответствии с safe area layout guide.
Выключите banner smart sizing, если вы используете AppodealShowStyleBannerLeft или AppodealShowStyleBannerRight
- Swift
- Objective-C
// Overrides default rotation angles
// Appodeal.setBannerLeftRotationAngleDegrees(90, rightRotationAngleDegrees: 180)
Appodeal.showAd(.bannerLeft, forPlacement: placement, rootViewController: self)
// Appodeal.showAd(.bannerRight, forPlacement: placement, rootViewController: self)
// Overrides default rotation angles
// [Appodeal setBannerLeftRotationAngleDegrees:90 rightRotationAngleDegrees:180];
[Appodeal showAd: AppodealShowStyleBannerLeft forPlacement: placement rootViewController: self];
// [Appodeal showAd: AppodealShowStyleBannerRight forPlacement: placement rootViewController: self];
Проверка Загрузки
Вы можете проверить статус загрузки перед показом. Этот метод возвращает булевое значение, которое указывает, была ли загружена реклама.
- Swift
- Objective-C
Appodeal.isReadyForShow(with: .bannerTop)
[Appodeal isReadyForShowWithStyle: AppodealShowStyleBannerTop];
Мы рекомендуем проверять статус загрузки перед показом рекламы.
Скрытие
Чтобы удалить Баннер из иерархии представлений:
- Swift
- Objective-C
Appodeal.hideBanner()
[Appodeal hideBanner];
Методы Обратного Вызова
Методы обратного вызова позволяют отслеживать различные события в жизненном цикле рекламного блока, например, момент, когда пользователь нажал на рекламу или закрыл ее. Для их вызова установите следующее значение делегата:
- Swift
- Objective-C
//set delegate
Appodeal.setBannerDelegate(self)
//set delegate
[Appodeal setBannerDelegate:self];
Обычно класс, который работает с баннерами, одновр еменно является и
классом делегата, поэтому в качестве свойства делегата можно указать
self
.
Теперь вы можете использовать следующие методы обратного вызова:
- Swift
- Objective-C
// 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() {}
// banner was loaded (precache flag shows if the loaded ad is precache)
- (void)bannerDidLoadAdIsPrecache:(BOOL)precache {}
// banner was shown
- (void)bannerDidShow {}
// banner failed to load
- (void)bannerDidFailToLoadAd {}
// banner was clicked
- (void)bannerDidClick {}
// banner did expire and could not be shown
- (void)bannerDidExpired {}
Все функции обратного вызова вызываются в главном потоке.
Если автоматическое кеширование для типа рекламы Баннер включено, не
используйте метод обратного вызова bannerDidLoadAdIsPrecache
для
показа рекламы. Баннер будет обновляться автоматически после первого
показа.
Баннер С Кастомной Позицией
Отображение Баннера В Программно Созданном Представлении
Вы можете добавить баннер в иерархию представлений вручную.
For example:
- Swift
- Objective-C
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)
}
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.view addSubview:[Appodeal banner]];
[Appodeal banner].frame = CGRectMake(0, 0, self.view.bounds.size.width, 50);
}
Пользовательский BannerView
должен быть вверху иерархии и не должен
перекрываться другими представлениями.
Дополнительно
Плейсменты
Appodeal SDK позволяет вам отмечать показы различными тегами с помощью плейсментов. Для и спользования данной функции вам необходимо создать плейсмент в настройках вашего приложения. Больше информации о плейсментах в нашем руководстве.
- Swift
- Objective-C
Appodeal.showAd(.bannerTop, forPlacement: placement, rootViewController: self)
[Appodeal showAd:AppodealShowStyleBannerTop forPlacement:placement rootViewController:self];