Firebase Remote Config обеспечивает большую гибкость в отношении того, как и когда получать новые значения с сервера и активировать их в вашем приложении, позволяя вам обеспечить качественное взаимодействие с конечным пользователем, контролируя время любых видимых изменений конфигурации. В этом руководстве рассматриваются несколько стратегий загрузки и обсуждаются ключевые аспекты выбора наилучшего варианта для вашего приложения.
Стратегия 1: получение и активация при загрузке
В этой стратегии ваше приложение будет вызывать fetchAndActivate()
при первом запуске, чтобы получить новые значения из Remote Config и активировать их, как только они закончат загрузку. Этот простой подход хорошо работает для изменений конфигурации, которые не вызывают значительных визуальных изменений в вашем пользовательском интерфейсе. Его следует избегать в любой ситуации, когда ваш пользовательский интерфейс может заметно измениться, пока пользователи находятся в процессе его использования.
Стратегия 2: активировать за экраном загрузки
В качестве решения потенциальной проблемы с пользовательским интерфейсом, возникшей в стратегии 1, вы можете положиться на экран загрузки. Вместо того, чтобы сразу запускать приложение, покажите экран загрузки и вызовите fetchAndActivate
в обработчике завершения. Затем сразу после этого — снова с помощью обратного вызова или уведомления — закройте экран загрузки и позвольте пользователю начать взаимодействие с вашим приложением.
Если вы используете эту стратегию, рекомендуется добавить тайм-аут на экран загрузки. Одноминутный тайм-аут Remote Config может быть слишком большим для качественного запуска приложения для пользователей.
Стратегия 3: загрузить новые значения для следующего запуска
Эффективной стратегией является загрузка новых значений конфигурации для активации при следующем запуске приложения. В этой стратегии ваше приложение активирует извлеченные значения при запуске, прежде чем пытаться получить новые, исходя из предположения, что оно, возможно, уже извлекло — но еще не активировало — новые значения конфигурации. Порядок действий для этой стратегии следующий:
- При запуске немедленно активировать ранее полученные значения. Это применяет любые значения, которые вы загрузили с сервера в предыдущем сеансе, и происходит практически мгновенно.
- Пока пользователь взаимодействует с вашим приложением, запустите асинхронный вызов для получения новых значений в соответствии с минимальным интервалом выборки по умолчанию.
- В обработчике завершения или обратном вызове для вызова fetch ничего не делайте. Ваше приложение сохранит загруженные значения, пока вы не активируете их при следующем запуске приложения.
Благодаря этой стратегии время ожидания пользователя значительно сведено к минимуму. Однако пользователь должен запустить ваше приложение во второй раз, чтобы увидеть последнюю конфигурацию. Вам нужно будет сбалансировать эти соображения с вашей бизнес-логикой и логикой приложения.
Загрузка антистратегий
Как вы, возможно, поняли из приведенного выше обсуждения плюсов и минусов загрузки, есть несколько шаблонов использования, которых следует избегать.
- Не обновляйте и не переключайте аспекты пользовательского интерфейса, пока пользователь просматривает его или взаимодействует с ним, если только у вас нет для этого веских причин, связанных с приложением или бизнесом, например удаление параметров, связанных с только что завершившейся рекламной акцией.
- Не отправляйте большое количество одновременных запросов на выборку, поскольку это может привести к регулированию вашего приложения сервером. Риск этого невелик в большинстве производственных сценариев, но это может стать проблемой во время активной разработки. Ознакомьтесь с руководством по регулированию для платформ Android и Apple .
- Не полагайтесь на сетевое подключение для получения значений Remote Config. Установите значения параметров по умолчанию в приложении, чтобы ваше приложение всегда вело себя так, как ожидается. Вы можете периодически синхронизировать значения по умолчанию приложения и серверной части Remote Config, используя значения по умолчанию загруженного шаблона .
Следующие шаги
Эти три основные стратегии никоим образом не составляют полный список способов загрузки значений конфигурации. В зависимости от ваших потребностей вы можете разработать гораздо более сложные стратегии, такие как фоновые обновления, управляемые функциями, описанные в разделе Распространение обновлений в реальном времени .
Ознакомьтесь со справочником по API для вашей платформы, чтобы узнать больше о конкретных вызовах для получения и активации значений конфигурации.