| Выберите платформу: | 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 в реальном времени во время пользовательской сессии, чтобы гарантировать получение самых актуальных значений сразу после их публикации на сервере.
Для отслеживания обновлений вызовите метод 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 закрывает соединение с сервером в режиме реального времени.
Хотя вы можете вручную остановить прослушивание обновлений, это часто не требуется. Функция Real-time Remote Config автоматически останавливает прослушивание обновлений, когда приложение переходит в фоновый режим, и возобновляет его, когда приложение переходит в активный режим.
Следующие шаги
Ознакомьтесь с руководством «Начало работы с Firebase Remote Config , чтобы настроить Remote Config и начать отслеживать обновления в режиме реального времени .