Stories
Stories - формат встраиваемой рекламы в виде сторисов (по аналогии со сторисами в Telegram и Instagram*). Загрузка и отображение аналогичны другим InLine форматам.
Загрузка рекламы, передача 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-форматов
}
}
}
Закрытие плеера пользователем приходит отдельным событием в InLineAdContent.actions: Flow<InLineAdAction> — StoriesAdActions.OnSlideDismissed.