| Выберите платформу: | iOS+ Android Web Flutter Unity C++ |
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 . Мы рекомендуем вызывать функцию получения данных при запуске приложения (или в какой-либо момент жизненного цикла приложения) и отслеживать обновления Remote Config в реальном времени во время пользовательской сессии, чтобы гарантировать получение самых актуальных значений сразу после их публикации на сервере.
Для отслеживания обновлений вызовите onConfigUpdate , реализующий функцию обратного вызова, которая вызывается всякий раз, когда в приложении становится доступно обновление Remote Config . В фоновом режиме этот вызов запускает отслеживание обновлений от сервера Remote Config . Подробнее о взаимоотношениях клиент-сервер см. в предыдущем разделе .
Функция обратного вызова часто является подходящим местом для использования activate , чтобы сделать обновленные параметры конфигурации доступными для вашего приложения. Дополнительные стратегии активации значений параметров при использовании Remote Config в реальном времени см. в разделе «Стратегии загрузки Remote Config Firebase».
Выборочно активировать значения параметров
При вызове onConfigUpdate вы можете дождаться изменения и активировать его.
next вызов функции обратного вызова происходит, когда автоматически получена новая версия шаблона и когда в этой новой версии изменены активные значения параметров в приложении.
Эти функции обратного вызова вызываются с параметром configUpdate . configUpdate содержит updated_keys , представляющий собой набор измененных ключей параметров, инициировавших обновление в реальном времени, и включает в себя следующее:
- Добавлены или удалены ключи параметров
- Ключи параметров, значения которых изменились
- Ключи параметров, метаданные которых изменились (например, информация о персонализации Remote Config ).
- Ключи параметров, источник значения которых изменился (например, значение по умолчанию в приложении обновилось до значения на стороне сервера).
Если вы используете слушатель событий в реальном времени в определенном представлении вашего приложения, вы можете проверить, изменились ли параметры, относящиеся к этому представлению, перед его активацией.
Иногда запрос (инициированный либо при вызове метода fetch , либо в режиме реального времени с помощью Remote Config ) не приводит к обновлению данных для клиента. В таких случаях next метод или завершение запроса не будут вызваны.
Добавление и удаление слушателей
onConfigUpdate — это основная точка входа для Remote Config в реальном времени. Первый вызов этого обработчика в жизненном цикле вашего приложения открывает соединение с бэкэндом. Последующие вызовы используют то же соединение, мультиплексируя сообщение об аннулировании, описанное в описании соединения клиент-сервер в реальном времени .
Вызов возвращает «регистрацию слушателя», которая имеет метод Unsubscribe . Чтобы прекратить прослушивание обновлений, необходимо вызвать функцию Unsubscribe , которая была возвращена при первоначальной регистрации наблюдателя. Если это единственный активный слушатель, вызов Unsubscribe закроет соединение с сервером в режиме реального времени.
Хотя вы можете вручную остановить прослушивание обновлений, это часто не требуется. Функция Real-time Remote Config автоматически останавливает прослушивание обновлений, когда приложение переходит в фоновый режим, и возобновляет его, когда приложение переходит в активный режим.
Следующие шаги
Ознакомьтесь с руководством «Начало работы с Firebase Remote Config , чтобы настроить Remote Config и начать отслеживать обновления в режиме реального времени .