Отслеживание просмотров экранов флоу в React Native SDK
Каждый раз, когда пользователь открывает экран в флоу, SDK сообщает событие flow_screen_showed вашему приложению. Передавайте его в Amplitude, Mixpanel или любую другую продуктовую аналитику, чтобы анализировать экраны флоу вместе с остальными событиями вашего приложения.
Чтобы отследить, насколько далеко пользователи проходят флоу, никакой код не нужен — метрики флоу уже показывают просмотры, завершения и отсев по каждому экрану в дашборде Adapty. Используйте этот гайд, когда нужно получить те же данные в собственной аналитике вместе с событиями, о которых Adapty не знает.
Прежде чем начать
Вам понадобится:
- Adapty React Native SDK v4 или новее: колбэк аналитики флоу отсутствует в более ранних версиях.
- Версия флоу, опубликованная после выхода этой функции: Adapty генерирует события экранов при публикации флоу, поэтому флоу, опубликованный до этого момента, не передаёт никаких событий. Если события не поступают в ваше приложение, опубликуйте новую версию флоу и попробуйте снова.
Что вы получаете
Флоу отправляет событие flow_screen_showed каждый раз, когда пользователь открывает один из его экранов. Adapty учитывает эти события в собственной аналитике флоу и также передаёт их в ваше приложение, чтобы вы могли построить такую же воронку в своей аналитике.
| Параметр | Описание |
|---|---|
instanceId | Идентификатор экрана, который открыл пользователь. |
screen_order | Порядковый номер экрана во флоу. |
is_last_screen | true, если у экрана нет следующего шага. Флоу с ветвлением может завершаться на нескольких разных экранах — каждый из них возвращает true. |
Оба поля isBackendEvent и isCustomerEvent равны true для этого события: Adapty продолжает его учитывать, и ваше приложение тоже его получает.
Просмотры экранов поступают в тот же аналитический колбэк, что и все остальные события флоу. Подробнее о том, где его зарегистрировать, см. в разделе Обработка событий флоу и пейвола.
Передавайте каждый просмотр экрана в вашу аналитику
Проверяйте имя события первым делом — флоу передаёт и другие события через тот же колбэк.
const unsubscribe = view.setEventHandlers({
onAnalytics(name, params) {
if (name === 'flow_screen_showed') {
const screenId = params.instanceId;
const screenOrder = params.screen_order;
// Send screenId and screenOrder to your analytics provider here.
}
return false; // keep the flow open
},
});
Запуск кода при достижении последнего экрана
is_last_screen равно true на экране, с которого флоу не может двигаться дальше. Используйте это, чтобы открыть контент, отметить онбординг как завершённый или отправить собственное событие о завершении — без добавления действия кнопки в билдере.
const unsubscribe = view.setEventHandlers({
onAnalytics(name, params) {
if (name === 'flow_screen_showed' && params.is_last_screen) {
// The user reached the end of the flow.
}
return false; // keep the flow open
},
});
Достижение последнего экрана — это не то же самое, что закрытие флоу. Пользователь может увидеть финальный экран и закрыть флоу, не совершив никакого действия, а флоу с ветвлением может завершаться на нескольких разных экранах. Чтобы отследить именно момент исчезновения флоу, используйте onDisappeared.