Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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