Catch up on everthing we announced at this year's Firebase Summit. Learn more

Начать работу с Firebase Remote Config

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

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

Это руководство проведет вас через шаги , чтобы начать работу и предоставляет некоторые примеры кода, все из которых доступно для клона или загрузить с firebase / быстрым стартом единством , GitHub хранилища.

Добавьте Remote Config в свое приложение

Перед тем, как можно использовать Remote Config , вам необходимо:

  • Зарегистрируйте свой проект Unity и настройте его для использования Firebase.

    • Если ваш проект Unity уже использует Firebase, значит, он уже зарегистрирован и настроен для Firebase.

    • Если у Вас нет проекта Unity, вы можете загрузить пример приложения .

  • Добавьте Firebase Unity SDK ( в частности, FirebaseRemoteConfig.unitypackage ) для вашего проекта Unity.

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

Установить значения параметров по умолчанию в приложении

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

Для этого создайте словарь строк и заполните его парами ключ / значение, представляющими значения по умолчанию, которые вы хотите добавить. (Non-струнные свойства будут преобразованы в тип свойства при SetDefaultsAsync() называется).

System.Collections.Generic.Dictionary<string, object> defaults =
  new System.Collections.Generic.Dictionary<string, object>();

// These are the values that are used if we haven't fetched data from the
// server
// yet, or if we ask for values that the server doesn't have:
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults)
  .ContinueWithOnMainThread(task => {

Получите значения параметров для использования в вашем приложении

Теперь вы можете получать значения параметров из объекта Remote Config. Если вы задали значения в серверной части Remote Config, извлекли их, а затем активировали, эти значения будут доступны вашему приложению. В противном случае, вы получите значение параметров в-приложения , настроенные с помощью SetDefaultsAsync() .

Для того, чтобы получить эти значения, используйте GetValue() , обеспечивая ключевой параметр в качестве аргумента. Это возвращает ConfigValue , который имеет свойство для преобразования значения в различные базовые тип.

Подключите свое приложение в консоли Firebase

В Firebase консоли , добавьте приложение в свой проект Firebase.

Установить значения параметров

  1. В Firebase консоли , откройте свой проект.
  2. Выберите Remote Config из меню для просмотра удаленной приборной панели Config.
  3. Определите параметры с теми же именами, что и параметры, которые вы определили в своем приложении. Для каждого параметра вы можете установить значение по умолчанию (которое в конечном итоге переопределит значение по умолчанию в приложении) и условные значения. Чтобы узнать больше, см удаленных параметров и условий Config .

Получить и активировать значения (при необходимости)

Для извлечения значения параметров из удаленного Config бэкэнда, вызовите FetchAsync() метод. Любые значения, которые вы устанавливаете на серверной части, извлекаются и кэшируются в объекте Remote Config.

// Start a fetch request.
// FetchAsync only fetches new data if the current data is older than the provided
// timespan.  Otherwise it assumes the data is "recent enough", and does nothing.
// By default the timespan is 12 hours, and for production apps, this is a good
// number. For this example though, it's set to a timespan of zero, so that
// changes in the console will always show up immediately.
public Task FetchDataAsync() {
  DebugLog("Fetching data...");
  System.Threading.Tasks.Task fetchTask =
  Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

Значения принесли через FetchAsync() кэшируются локально , когда выборка завершается, но не не доступно до ActivateFetched() вызываются. Поскольку FetchAsync() выполняется асинхронно, это позволяет гарантировать , что новые значения не применяются в середине расчета, или в других случаях , которые могут вызвать проблемы или странное поведение.

(Необязательно) Включите режим разработчика

Чтобы включить режим разработчика, который может быть использован для отключения дросселировании в процессе разработки, вы можете использовать FirebaseRemoteConfig.Setting свойство, установив новый ConfigSettings с IsDeveloperMode значение ИСТИНА.

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

Если вы уже не имеете, изучить Удаленная настройка вариантов использования , и взглянуть на некоторые из ключевых концепций и передовых стратегий документации, в том числе: