Слайдер рекламных объявлений

Нативная реклама — реклама, внешний вид которой может определяться на стороне приложения. Данная особенность позволяет изменять визуальный стиль объявлений и места их размещения с учетом особенностей дизайна приложения.

Отрисовка рекламы производится нативными средствами платформы, что увеличивает её производительность и качество.

Нативные объявления улучшают впечатления от рекламы, поэтому вы можете показывать больше объявлений, не теряя интерес пользователей. Это позволяет обеспечить максимальный доход от рекламы в долгосрочной перспективе.

Пререквизит

  1. Выполните шаги по интеграции SDK, описанные в Быстром старте.
  2. Заранее проинициализируйте рекламный SDK.
  3. Убедитесь, что используете последнюю версию Yandex Mobile Ads SDK, а в случае использования медиации — актуальную версию единой сборки.

Загрузка слайдера

  1. Создайте экземпляр класса SliderAdLoader для загрузки слайдера рекламных объявлений.

  2. Создайте запрос AdRequest с идентификатором рекламного блока и NativeAdOptions для дополнительных параметров.

  3. Вызовите метод loadAd(with:options:completion:) для загрузки рекламы.

  4. Если реклама загрузилась успешно — используйте объект SliderAd для отображения.

  5. Если при загрузке произошла ошибка — обработайте её.

let adLoader = SliderAdLoader()
let request = AdRequest(adUnitID: "<AdUnitID>")
let options = NativeAdOptions()

do {
    let sliderAd = try await adLoader.loadAd(with: request, options: options)
    // Отобразите рекламу
} catch {
    // Ошибка загрузки
}
let adLoader = SliderAdLoader()
let request = AdRequest(adUnitID: "<AdUnitID>")
let options = NativeAdOptions()

adLoader.loadAd(with: request, options: options) { [weak self] result in
    switch result {
    case .success(let sliderAd):
        // Отобразите рекламу
        break
    case .failure:
        break
    }
}

Показ слайдера нативных объявлений

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

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

Данный способ позволяет самостоятельно сверстать макет слайдера нативной рекламы, определить расположение компонентов рекламы относительно друг друга. В объявлении могут присутствовать как обязательные, так и опциональные для показа компоненты. Полный их перечень можно найти в разделе Компоненты нативной рекламы.

Совет

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

Вызовите метод bind(with:) на объекте SliderAd, передав в него контейнер для слайдера объявлений.

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

adLoader.loadAd(with: request, options: options) { [weak self] result in
    guard case .success(let sliderAd) = result else { return }

    sliderAd.delegate = self

    // Создаём контейнер для слайдера; замените NativeAdView своим наследником этого класса
    let sliderAdView = NativeAdView()

    do {
        try sliderAd.bind(with: sliderAdView)
    } catch {
        // Проверьте сообщение об ошибке и исправьте проблему
        return
    }

    for subAd in sliderAd.ads {
        subAd.delegate = self

        // Создаём рекламное view для каждого объявления; замените NativeAdView своим наследником
        let subAdView = NativeAdView()

        do {
            try subAd.bind(with: subAdView)
        } catch {
            return
        }

        // Добавляем объявление в контейнер и располагаем его
        sliderAdView.addSubview(subAdView)
    }
}