Stories

Stories - формат встраиваемой рекламы в виде сторисов (по аналогии со сторисами в Telegram и Instagram*). Загрузка и отображение аналогичны другим InLine форматам.

Stories
Stories

Загрузка рекламы, передача padId, targetings, таймауты, обработка результата и действия пользователя — описаны в общем разделе Баннеры. Здесь документируются только отличия формата Stories — события показа.

Тестовый padId для отладки — в разделе Отладка.

События Stories

События показа приходят в общем потоке InLineAdContent.events: Flow<InLineAdEvent> вместе с событиями других форматов (например, MultiformatAdEvents). Каждое событие формата Stories реализует интерфейс StoriesAdEvents:

import ru.tander.mads.inline.model.InLineAdEvent
import ru.tander.mads.inline.multiformat.integration_public.events.MultiformatAdEvents
import ru.tander.mads.inline.stories.integration_public.events.StoriesAdEvents

when (inLineAdResponse) {
    is InLineAdResponse.Success -> {
        inLineAdResponse.content.events
            .onEach(::handleInLineAdEvent)
            .launchIn(scope)
    }
    ...
}

fun handleInLineAdEvent(event: InLineAdEvent) {
    when (event) {
        is StoriesAdEvents -> {
            when (event) {
                is StoriesAdEvents.OnBlockView -> {
                    // Блок Stories стал видимым на экране
                }
                is StoriesAdEvents.OnCoverView -> {
                    // Обложка стала видимой на экране
                }
                is StoriesAdEvents.OnCreativeView -> {
                    // Первое открытие группы в текущей сессии плеера
                }
                is StoriesAdEvents.OnSlideView -> {
                    // Слайд показан
                }
            }
        }
        is MultiformatAdEvents -> {
            // события других InLine-форматов
        }
    }
}
Тип значения Описание
StoriesAdEvents.OnBlockView Блок Stories стал видимым на экране
StoriesAdEvents.OnCoverView Обложка стала видимой на экране
StoriesAdEvents.OnCreativeView Первое открытие группы в текущей сессии плеера
StoriesAdEvents.OnSlideView Слайд показан

Закрытие плеера пользователем приходит отдельным событием в InLineAdContent.actions: Flow<InLineAdAction> — StoriesAdActions.OnSlideDismissed.