Перейти к основному содержимому
Версия: 3.3.1

Баннер

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

Вы можете использовать наше демо приложение в качестве примера по интеграции.

Демо приложение

Баннер С Фиксированной Позицией

Отображение баннера в определенном месте экрана

Чтобы отобразить баннер, вам нужно вызвать следующий код в activity:

Appodeal.show(this, Appodeal.BANNER) // Display banner with last position or bottom position of the screen
Appodeal.show(this, Appodeal.BANNER_BOTTOM) // Display banner at the bottom of the screen
Appodeal.show(this, Appodeal.BANNER_TOP) // Display banner at the top of the screen
Appodeal.show(this, Appodeal.BANNER_LEFT) // Display banner at the left of the screen
Appodeal.show(this, Appodeal.BANNER_RIGHT) // Display banner at the right of the screen

Метод возвращает boolean значение, указывающее, был ли передан вызов метода show соответствующему SDK.

SDK не может отображать рекламу без подключения к сети!
BannerView должен находиться на вершине иерархии и не может перекрываться другими представлениями.

Проверка загруженной рекламы

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

Appodeal.isLoaded(Appodeal.BANNER)

Ручное кеширование рекламы

По умолчанию автоматическое кэширование включено: Appodeal SDK начинает загружать баннер сразу после вызова метода инициализации.

Следующая полноэкранная реклама начинает загружаться сразу после вызова метода show.

Чтобы отключить автоматическое кеширование для баннеров, вызовите следующий код до инициализации SDK:

Appodeal.setAutoCache(Appodeal.BANNER, false)

To cache banner use:

Appodeal.cache(this, Appodeal.BANNER)

Более подробную информацию о ручном кешировании рекламы вы можете найти в нашем FAQ.

Скрытие рекламы

Appodeal.hide(this, Appodeal.BANNER)

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

Appodeal.setBannerCallbacks(object : BannerCallbacks {
override fun onBannerLoaded(height: Int, isPrecache: Boolean) {
// Called when banner is loaded
}
override fun onBannerFailedToLoad() {
// Called when banner failed to load
}
override fun onBannerShown() {
// Called when banner is shown
}
override fun onBannerShowFailed() {
// Called when banner show failed
}
override fun onBannerClicked() {
// Called when banner is clicked
}
override fun onBannerExpired() {
// Called when banner is expired
}
})
к сведению

Вcе callback методы вызываются в главном потоке

Баннер С Кастомной Позицией

Отображение баннера в указанном View в файле макета

  1. Добавьте com.appodeal.ads.BannerView в ваш layout файл:
<com.appodeal.ads.BannerView
android:id="@+id/appodealBannerView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
  1. Установите view id перед инициализацией SDK:
Appodeal.setBannerViewId(R.id.appodealBannerView)
  1. Теперь можно показать баннер в указанном view (убедитесь, что нужный view находится на экране):
Appodeal.show(this, Appodeal.BANNER_VIEW)
SDK не может отображать рекламу без подключения к сети!
BannerView должен находиться на вершине иерархии и не может перекрываться другими представлениями.

Показ рекламы в программно созданном View

  1. Создайте и добавьте com.appodeal.ads.BannerView в ваш root view:
val adView = Appodeal.getBannerView(this)
rootLayout.addView(adView)
  1. Теперь можно показать баннер в указанном view (убедитесь, что нужный view находится на экране):
Appodeal.show(this, Appodeal.BANNER_VIEW)
SDK не может отображать рекламу без подключения к сети!
BannerView должен находиться на вершине иерархии и не может перекрываться другими представлениями.

Дополнительно

Плейсменты

Appodeal SDK позволяет помечать каждый показ указанным плейсментом. Для использования плейсментов вам необходимо сначала их создать в Appodeal Dashboard. Подробнее о плейсментах.

Appodeal.show(this, Appodeal.BANNER, "yourPlacementName")

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

if (Appodeal.canShow(Appodeal.BANNER, "yourPlacementName")) {
Appodeal.show(this, Appodeal.BANNER, "yourPlacementName")
}

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

Если у вас нет плейсментов, или вы вызовете метод Appodeal.show с плейсментом, которого не существует, показ будет помечен с использованием default плейсмента, и будут применены его настройки.

Важно!

Настройки плейсментов влияют ТОЛЬКО на представление рекламы, но не на загрузку или кеширование.

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

Чтобы проверить, инициализирован ли баннер, вы можете использовать метод:

Appodeal.isInitialized(Appodeal.BANNER)

Возвращает true, если баннер был проинициализирован.

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

Чтобы проверить, включено ли автоматическое кеширование для баннеров, вы можете использовать метод:

Appodeal.isAutoCacheEnabled(Appodeal.BANNER)

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

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

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

Appodeal.getPredictedEcpm(Appodeal.BANNER)
Этот метод целесообразно использовать, если включено ручное кэширование рекламы.

Обработка Состояния "onPaused" В Activity

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

Для показа рекламы во вновь созданной Activity просто вызовите метод Appodeal.show(), если необходимо:

override fun onResume() {
super.onResume()
Appodeal.show(this, Appodeal.BANNER)
}

Это поведение можно изменить, вызвав Appodeal.setSharedAdsInstanceAcrossActivities(true)

(Узнать больше: Логика одного экземпляра баннера для всех activity)

Удаление Рекламы

Если вы хотите скрыть баннер во всех activity и очистить память, вызовите код ниже:

Appodeal.destroy(Appodeal.BANNER)

Включение Планшетных 728x90 Баннеров

Чтобы включить баннеры размером 728x90, воспользуйтесь следующим методом:

Appodeal.set728x90Banners(true)
к сведению

Метод работает, если размер вашего устройства превышает 7 дюймов

Логика Одного Экземпляра Баннера Для Всех Activity

Appodeal SDK связывает Banner/MREC с activity, которое было передано в метод Appodeal.show.

Чтобы вам было проще управлять логикой отображения View объявлений во всех activities, мы добавили новый метод в Appodeal класс:

Appodeal.setSharedAdsInstanceAcrossActivities(sharedAdsInstanceAcrossActivities: Boolean)
  • Когда этот метод используется с параметром true, SDK будет показывать MREC во всех новых activities без вызова дополнительного кода с вашей стороны.
  • Если вы хотите контролировать отображение banner самостоятельно, вы можете передавать параметр false.
    предупреждение

    В случае передачи параметра false, будьте осторожны с изменением ориентации или переходом к новой activity, Banner/MREC не будет отображаться автоматически, так как он был привязан к предыдущей activity. Если вы хотите скрыть Banner/MREC, вам нужно вызвать метод Appodeal.hide() с параметром activity, к которому был привязан Banner/MREC.

Вы так же можете проверить текущее состояние этой логики:

Appodeal.isSharedAdsInstanceAcrossActivities()
к сведению

Shared View Ads Instance Across Activities отключена по умолчанию

Отключение Анимации Обновления Баннера

Чтобы отключить анимацию обновления баннера, используйте:

Appodeal.setBannerAnimation(false)
к сведению

Анимация включена по умолчанию.

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

Смарт баннеры - это баннерная реклама, которая автоматически подстраивается под размер экрана. Их использование помогает справиться с растущей фрагментацией размеров экрана на различных устройствах.

Чтобы отключить их, воспользуйтесь следующим методом:

Appodeal.setSmartBanners(false)
к сведению

Смарт баннеры включены по умолчанию.

Отслеживание Показа

Вы всегда можете проверить в логах, был ли отслежен показ и видна ли ваша реклама.

В случае успешного отслеживания показов вы увидите лог Banner [Notify Shown].

Appodeal  com.example.app  D Banner [Notify Shown]