Remote Config в реальном времени позволяет получать обновленные ключи и значения параметров сразу после их публикации на сервере. Это позволяет быстро обновлять любой тип атрибута приложения, управляемый с помощью значения параметра Remote Config . Благодаря обновлениям Remote Config в реальном времени вы можете:
- Снизьте риск, постепенно развертывая функции для целевых пользователей и выполняя экстренный откат при необходимости.
- Повышайте вовлеченность пользователей за счет быстрой настройки пользовательского опыта при использовании приложения. Например, вы можете обновлять баннеры и предлагать поощрения пользователям, которые соответствуют определенным пользовательским свойствам Google Analytics , или динамически регулировать сложность игры для групп игроков.
- Уменьшите зависимости сборки и повысьте производительность разработчиков. Используйте параметры Remote Config в качестве флагов функций, чтобы предоставить функциональные возможности вашим командам разработки и тестирования, сохраняя при этом их скрытыми для пользователей в рабочей среде.
Дополнительные сведения о способах использования Remote Config см. в разделе Что можно делать с помощью Remote Config ?
В этом руководстве вы:
- Узнайте больше об отношениях клиент-сервер, которые поддерживают обновления в реальном времени.
- Узнайте, как работают функции реального времени в SDK.
- Узнайте, как использовать обновления в реальном времени, чтобы поддерживать актуальность конфигурации вашего приложения.
Соединение клиент-сервер в режиме реального времени
Когда вы реализуете Remote Config в реальном времени в своем приложении, вы создаете прослушиватель в реальном времени, который открывает HTTP-соединение с серверной частью Remote Config . Запрос включает версию конфигурации, которая в данный момент кэшируется на устройстве. Сервер Remote Config в реальном времени использует сообщение о недействительности , чтобы сигнализировать приложению, когда должна быть получена более новая версия конфигурации на стороне сервера.
Если на сервере установлена более новая версия, он немедленно отправляет сигнал аннулирования. Если у него нет более новой версии, он оставляет соединение открытым и ждет, пока оно не будет опубликовано на сервере. Когда клиентский SDK получает сигнал аннулирования, он автоматически извлекает его, а затем вызывает обратный вызов прослушивателя, зарегистрированный при открытии соединения прослушивателя. Эта выборка аналогична вызову выборки, который вы можете выполнить с помощью SDK, но обходит любые настройки кэширования или minimumFetchInterval
. Соединение клиент-сервер поддерживается, пока приложение находится на переднем плане.
Поскольку соединение клиент-сервер осуществляется через HTTP, оно не требует каких-либо зависимостей от других библиотек.
Слушайте обновления
Обновления в реальном времени дополняют вызовы fetch
Remote Config . Мы рекомендуем вызывать fetch при запуске вашего приложения (или где-то в течение жизненного цикла вашего приложения) и прослушивать обновления Remote Config в реальном времени во время сеанса пользователя, чтобы гарантировать, что у вас есть самые последние значения, как только они будут опубликованы на сервере.
Чтобы прослушать обновления, позвоните по телефонуaddOnConfigUpdateListener
,реализация обратного вызова, который вызывается всякий раз, когда в приложении доступно обновление Remote Config . За кулисами этот вызов начинает прослушивать обновления с сервера Remote Config . Подробнее об отношениях клиент-сервер см. в предыдущем разделе .
Обратный вызов часто является хорошим местом для использования activate
, чтобы сделать обновленные параметры конфигурации доступными для вашего приложения. Дополнительные стратегии активации значений параметров при использовании Remote Config в реальном времени см. в разделе «Стратегии загрузки Remote Config Firebase».
Выборочно активировать значения параметров
Когда ты звонишьaddOnConfigUpdateListener
,вы можете дождаться изменения и активировать его.
onUpdate
вызывается, когда новая версия шаблона была автоматически получена, а также когда эта новая версия вносит изменения в текущие активированные значения параметров в приложении. Эти обратные вызовы вызываются с помощью параметра configUpdate
. configUpdate
содержитupdatedKeys
,который представляет собой набор измененных ключей параметров, которые инициировали обновление в реальном времени, и включает в себя следующее:
- Ключи параметров добавлены или удалены
- Ключи параметров, значения которых изменились
- Ключи параметров, метаданные которых изменились (например, информация о персонализации Remote Config ).
- Ключи параметров, источник значения которых изменился (например, значение по умолчанию в приложении обновляется до значения на стороне сервера).
Если вы используете прослушиватель реального времени в определенном представлении в своем приложении, вы можете проверить, изменились ли параметры, относящиеся к этому представлению, перед активацией.
Иногда выборка (инициируемая при вызове метода fetch
или с помощью Remote Config в реальном времени) не приводит к обновлению клиента. В этих случаяхonUpdate
метод или завершение не будут вызываться.
Добавляйте и удаляйте прослушиватели
addOnConfigUpdateListener
является основной точкой входа для Remote Config в реальном времени. Вызов этого прослушивателя в первый раз в жизненном цикле вашего приложения открывает соединение с серверной частью. Последующие вызовы повторно используют одно и то же соединение, мультиплексируя сообщение о недействительности, описанное в соединении клиент-сервер в реальном времени .Вызов возвращает «регистрацию прослушивателя», которая имеет метод под названиемremove
. Чтобы прекратить прослушивание, сохраните ссылку на регистрацию прослушивателя. Вызовите remove
чтобы прекратить прослушивание при этой регистрации. Если это единственный зарегистрированный прослушиватель, вызов remove
закрывает соединение с сервером в реальном времени.
Следующие шаги
Ознакомьтесь с разделом Начало работы с Firebase Remote Config , чтобы настроить Remote Config и начать прослушивать обновления в режиме реального времени .