Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Стратегии загрузки Firebase Remote Config

Firebase Remote Config обеспечивает большую гибкость в отношении того, как и когда извлекать новые значения с сервера и активировать их в вашем приложении, позволяя вам обеспечить качественное взаимодействие с конечным пользователем, контролируя время любых видимых изменений конфигурации. В этом руководстве рассматриваются несколько стратегий загрузки и обсуждаются ключевые соображения по выбору наилучшего варианта для вашего приложения.

Стратегия 1. Получение и активация при загрузке

В этой стратегии ваше приложение будет вызывать fetchAndActivate() при первом запуске приложения, чтобы получить новые значения из Remote Config и активировать их, как только они закончат загрузку. Этот простой подход хорошо работает для изменений конфигурации, которые не вызывают кардинальных визуальных изменений в вашем пользовательском интерфейсе. Этого следует избегать в любой ситуации, когда ваш пользовательский интерфейс может заметно измениться, пока пользователи находятся в процессе его использования.

Стратегия 2. Активация за экраном загрузки

В качестве решения потенциальной проблемы пользовательского интерфейса, обнаруженной в стратегии 1, вы можете полагаться на экран загрузки. Вместо того, чтобы сразу запускать приложение, покажите экран загрузки и вызовите fetchAndActivate в обработчике завершения. Затем сразу после этого - снова используя обратный вызов или уведомление - закройте экран загрузки и позвольте пользователю начать взаимодействие с вашим приложением.

Если вы используете эту стратегию, рекомендуется добавить таймаут на экран загрузки. Одноминутный тайм-аут Remote Config может быть слишком большим для качественного запуска приложения для пользователей.

Стратегия 3: загрузить новые значения для следующего запуска

Эффективная стратегия - загрузить новые значения конфигурации для активации при следующем запуске приложения. В этой стратегии ваше приложение активирует полученные значения при запуске, прежде чем пытаться получить новые, исходя из предположения, что оно могло уже получить, но еще не активировано, новые значения конфигурации. Порядок действий для этой стратегии:

  1. При запуске немедленно активируйте ранее выбранные значения. Это применимо к любым значениям, которые вы загрузили с сервера в предыдущем сеансе, и почти мгновенно.
  2. Пока пользователь взаимодействует с вашим приложением, запустите асинхронный вызов для получения новых значений в соответствии с минимальным интервалом выборки по умолчанию.
  3. В обработчике завершения или обратном вызове для вызова выборки ничего не делайте. Ваше приложение сохранит загруженные значения, пока вы не активируете их при следующем запуске приложения.

Благодаря этой стратегии время ожидания пользователя значительно сокращается. Однако пользователь должен запустить ваше приложение во второй раз, чтобы увидеть последнюю конфигурацию. Вам необходимо сбалансировать эти соображения с логикой вашего бизнеса и приложения.

Загрузка анти-стратегий

Как вы, возможно, поняли из приведенного выше обсуждения плюсов и минусов загрузки, есть несколько шаблонов использования, которых следует избегать.

  • Не обновляйте и не переключайте аспекты пользовательского интерфейса, пока пользователь просматривает его или взаимодействует с ним, за исключением случаев, когда для этого есть веские причины для приложения или бизнеса, например, удаление параметров, связанных с только что завершившейся рекламной акцией.
  • Не отправляйте большое количество одновременных запросов на выборку, поскольку это может привести к тому, что сервер задушит ваше приложение. Риски этого невелики в большинстве производственных сценариев, но это может стать проблемой во время активной разработки. Ознакомьтесь с руководством по регулированию для Android и iOS .

Следующие шаги

Эти три основные стратегии никоим образом не составляют полный список способов загрузки значений конфигурации. В зависимости от ваших потребностей вы можете разработать гораздо более сложные стратегии, такие как управляемые функциями фоновые обновления, описанные в разделе Распространение обновлений в реальном времени .

Ознакомьтесь со справочником API для вашей платформы, чтобы узнать больше о конкретных вызовах для получения и активации значений конфигурации.