| Выберите платформу: | iOS+ Android Web Flutter Unity C++ |
Remote Config в реальном времени позволяет получать обновленные ключи и значения параметров сразу после их публикации на сервере. Это позволяет быстро обновлять любые атрибуты приложения, управляемые с помощью значения параметра Remote Config. Обновления Remote Config в реальном времени позволяют:
- Снижайте риски, постепенно внедряя функции для целевых пользователей и выполняя экстренный откат в случае необходимости.
- Повышайте вовлеченность пользователей, быстро настраивая интерфейс приложения. Например, вы можете обновлять баннеры и предлагать бонусы пользователям, которые соответствуют определенным свойствам пользователей Google Analytics, или динамически корректировать сложность игры для когорт игроков.
- Уменьшите зависимости сборки и повысьте продуктивность разработчиков. Используйте параметры Remote Config в качестве флагов функций, чтобы показывать функции командам разработки и тестирования, но скрывать их от пользователей в рабочей среде.
Подробнее о том, Remote Config что можно делать с помощью Remote Config…
В этом руководстве рассматриваются следующие темы:
- Отношения между клиентом и сервером, которые поддерживают обновления в реальном времени.
- Как работает функция реального времени в SDK.
- Как использовать обновления в реальном времени, чтобы поддерживать конфигурацию приложения в актуальном состоянии.
- Рекомендации по работе с отчетом Remote Config в реальном времени.
Подключение клиент-сервер в реальном времени
При реализации Remote Config в реальном времени в приложении создается прослушиватель, который открывает HTTP-подключение к серверной части Remote Config. Запрос включает версию конфигурации, которая кешируется на устройстве. Сервер Remote Config в реальном времени использует сообщение о недействительности, чтобы сообщить приложению о том, что необходимо получить более новую версию конфигурации на стороне сервера.
Если на сервере есть более новая версия, он сразу же отправляет сигнал об аннулировании.
Если новой версии нет, соединение остается открытым до тех пор, пока она не будет опубликована на сервере. Когда клиентский SDK получает сигнал недействительности, он автоматически извлекает его, а затем вызывает обратный вызов прослушивателя, зарегистрированный при открытии подключения прослушивателя. Этот запрос похож на вызов, который можно сделать с помощью SDK, но он обходит кеширование и настройки minimumFetchInterval. Соединение между клиентом и сервером поддерживается, пока приложение работает в активном режиме.
Поскольку соединение между клиентом и сервером устанавливается по протоколу HTTP, оно не зависит от других библиотек.
Слушать обновления
Обновления в реальном времени дополняют вызовы Remote Config fetch. Рекомендуем вызывать метод fetch при запуске приложения (или в определенный момент его жизненного цикла) и отслеживать обновления Remote Config в реальном времени во время сеанса пользователя, чтобы получать последние значения сразу после их публикации на сервере.
Чтобы получать обновления, вызовите метод OnConfigUpdateListener, реализовав обратный вызов, который будет выполняться каждый раз, когда в приложении доступно обновление Remote Config. После этого вызова начнется прослушивание обновлений с сервера Remote Config. Подробнее об отношениях клиента и сервера рассказывается в предыдущем разделе.
Обратный вызов – это подходящее место для использования activate, чтобы сделать обновленные параметры конфигурации доступными для вашего приложения. Дополнительные стратегии активации значений параметров при использовании Remote Config в реальном времени описаны в статье Стратегии загрузки Remote Config Firebase.
Как выборочно активировать значения параметров
При вызове OnConfigUpdateListener вы можете дождаться изменения и активировать его.
При настройке прослушивателя вы указываете, что он должен вызывать обработчик событий, который запускается каждый раз, когда автоматически извлекается новая версия шаблона и в ней есть изменения.
ConfigUpdateEventArgs возвращает configUpdate, содержащий updatedKeys – набор ключей измененных параметров, которые инициировали обновление в реальном времени. Он включает следующее:
- добавленные или удаленные ключи параметров;
- Ключи параметров, значения которых изменились.
- Ключи параметров, метаданные которых изменились (например, информация о персонализации Remote Config).
- Ключи параметров, источник значений которых изменился (например, значение по умолчанию в приложении заменено на значение на стороне сервера).
Если вы используете прослушиватель в реальном времени в определенном представлении в приложении, то перед активацией можете проверить, изменились ли параметры, относящиеся к этому представлению.
Иногда извлечение (инициированное вызовом метода fetch или Remote Config в реальном времени) не приводит к обновлению клиента. В таких случаях метод ConfigUpdateEventArgs или завершение не вызываются.
Добавление и удаление слушателей
OnConfigUpdateListener – это основная точка входа для Remote Config в реальном времени. При первом вызове этого прослушивателя в жизненном цикле приложения открывается подключение к серверной части.
Последующие вызовы используют то же соединение, мультиплексируя сообщение о недействительности, описанное в разделе Подключение клиент-сервер в реальном времени.
Чтобы прекратить прослушивание подключения, удалите его. Если это единственный зарегистрированный прослушиватель, то соединение с сервером в реальном времени будет закрыто. Пример приведен в разделе Отслеживание обновлений в реальном времени.
Чтобы прекратить прослушивание, сохраните ссылку на регистрацию прослушивателя. Вызовите remove, чтобы прекратить прослушивание. Если это единственный зарегистрированный прослушиватель, вызов remove закрывает подключение к серверу в реальном времени.
Хотя вы можете вручную прекратить прослушивание обновлений, часто в этом нет необходимости. Remote Config в реальном времени автоматически прекращает прослушивание обновлений, когда приложение переходит в фоновый режим, и перезапускается, когда приложение переходит на передний план.
Дальнейшие действия
Ознакомьтесь с руководством Начало работы с Firebase Remote Config, чтобы настроить Remote Config и начать прослушивать обновления в реальном времени.