Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Если вы предпочитаете видеоконтент, посмотрите видеоверсию этой статьи на YouTube (EN).
Что такое Firebase Remote Config?
Firebase Remote Config – это облачная служба, которая позволяет вам изменять поведение и внешний вид вашего приложения, не требуя обновления приложения. Вы можете вносить изменения в свое приложение в режиме реального времени, и пользователи сразу увидят обновления. Это особенно полезно для A/B-тестирования, пометки функций и других экспериментов.
В этой статье я затрону следующие темы:
Значения конфигурации приложения;
Уведомление пользователей о новой версии приложения;
Пометка функций (прим.: Feature flagging);
Поэтапное развертывание;
А/Б тестирование.
Кажется, что это очень много! Начнем с обзора демо-приложения.
Flutter Forward agenda приложение
Flutter Forward agenda – это простое приложение, которое отображает общую информацию о конференции и расписание мероприятий.
Обзор
Информация о событии в настоящее время считывается из файла JSON, хранящегося в локальных ресурсах.
В приложении есть функция прямой трансляции, которая уведомляет пользователя о начале трансляции и предоставляет ссылку для присоединения.
Кроме того, есть два разных доступных варианта добавления сеанса в список избранного — либо с помощью скользящей кнопки, либо с помощью кнопки на карточке. Мы вернемся к этому чуть позже, когда будем говорить об A/B-тестировании.
Наконец, реализован модальный диалог обновления приложения, который уведомляет пользователей о выходе новой версии и узнает, является ли обновление обязательным.
Проблемы
В целом, приложение работает отлично, однако в процессе работы могут возникнуть некоторые проблемы:
Данные хранятся локально. Это здорово – нам не нужно подключение к Интернету, верно? В настоящее время в расписании есть несколько пунктов TBA, и в будущем сроки проведения мероприятия могут измениться. То есть, как только мы обновим расписание мероприятий, нам придется выпустить новую версию приложения только для обновления данных. Это не идеальный вариант, поскольку нам придётся ждать завершения процесса рассмотрения приложения, а затем отправлять обновление пользователям. Это может занять некоторое время, и пользователи могут даже пропустить событие!
Такие функции, как обновление приложения или уведомление о прямой трансляции, не могут существовать без их удаленного запуска. Технически мы могли бы реализовать триггеры на устройствах, но столкнулись бы с той же проблемой, что и в случае с данными – нам нужно выпустить новую версию приложения только для того, чтобы изменить условную логику.
На данный момент, как мы можем проверить использование функции добавления в избранное? Приложение должно предоставлять некую аналитику и функции A/B тестирования, чтобы подтвердить наши предположения и обеспечить наилучший опыт для наших пользователей.
К счастью, Firebase Remote Config кажется идеально подходящим для таких случаев использования. Давайте начнем!
Настройка Firebase
Начать лучше всего с создания нового проекта Firebase и добавления его в приложение Flutter. Перейдите в Firebase console, выберите "Добавить проект" и придумайте не очень креативное название проекта.
Не забудьте включить Google Analytics для проекта, поскольку чуть позже мы будем использовать его для A/B-тестирования.
Затем выберите аккаунт Google Analytics и выберите "Создать проект". Через минуту или две ваш проект должен быть готов к использованию в вашем Flutter-проекте.
Теперь давайте добавим Firebase в приложение Flutter. В этом проекте мы будем использовать пакеты firebase_analytics
, firebase_core
и firebase_remote_config
, поэтому добавьте их в зависимости:
# pubspec.yaml
firebase_analytics: ^10.1.0
firebase_core: ^2.4.1
firebase_remote_config: ^3.0.9