Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Начните с Firebase Remote Config для Unity

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

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

В этом руководстве рассказывается, как приступить к работе, и приведен пример кода, который можно клонировать или загрузить из репозитория firebase / quickstart-unity 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.

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

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.SetDefaults(defaults);

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

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

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

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

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

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

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

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

Чтобы получить значения параметров из бэкэнда Remote 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.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

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

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

Чтобы включить режим разработчика, который можно использовать для отключения регулирования во время разработки, вы можете использовать свойство FirebaseRemoteConfig.Setting , задав для нового ConfigSettings значение ConfigSettings IsDeveloperMode true.

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

Если вы еще этого не сделали, изучите варианты использования Remote Config и взгляните на некоторые ключевые концепции и документацию по продвинутым стратегиям, включая: