Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Начните работу с Firebase Remote Config


Вы можете использовать Firebase Remote Config, чтобы определить параметры в своем приложении и обновить их значения в облаке, что позволит вам изменить внешний вид и поведение вашего приложения без распространения обновления приложения. В этом руководстве описаны шаги для начала работы и предоставлен пример кода, который можно клонировать или загрузить из репозитория GitHub firebase/quickstart-js .

Шаг 1. Добавьте и инициализируйте SDK Remote Config.

  1. Если вы еще этого не сделали, установите Firebase JS SDK и инициализируйте Firebase .

  2. Добавьте SDK Remote Config JS и инициализируйте Remote Config:

Web version 9

import { initializeApp } from "firebase/app";
import { getRemoteConfig } from "firebase/remote-config";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);


// Initialize Remote Config and get a reference to the service
const remoteConfig = getRemoteConfig(app);

Web version 8

import firebase from "firebase/app";
import "firebase/remote-config";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);


// Initialize Remote Config and get a reference to the service
const remoteConfig = firebase.remoteConfig();

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

Шаг 2. Установите минимальный интервал выборки.

Во время разработки рекомендуется установить относительно низкий минимальный интервал выборки. Дополнительную информацию см. в разделе Дросселирование .

Web version 9

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web version 8

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Шаг 3. Установите значения параметров по умолчанию в приложении

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

Web version 9

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

Web version 8

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

Если вы уже настроили значения внутренних параметров Remote Config, вы можете загрузить сгенерированный файл JSON, который включает все значения по умолчанию, и включить его в свой пакет приложений:

ОТДЫХАТЬ

curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=JSON -o remote_config_defaults.json

Консоль Firebase

  1. На вкладке « Параметры » откройте меню « » и выберите « Загрузить значения по умолчанию ».
  2. При появлении запроса включите .json для Интернета , затем нажмите « Загрузить файл » .

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


  const rcDefaultsFile = await fetch('remote_config_defaults.json');
  const rcDefaultsJson = await rcDefaultsFile.json();
  remoteConfig.defaultConfig = rcDefaultsJson;
  

В следующем примере используется require , который компилирует значения в ваше приложение во время сборки:

  let rcDefaults = require('./remote_config_defaults.json');
  remoteConfig.defaultConfig = rcDefaults;

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

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

Web version 9

import { getValue } from "firebase/remote-config";

const val = getValue(remoteConfig, "welcome_messsage");

Web version 8

const val = remoteConfig.getValue("welcome_messsage");

Шаг 5: Установите значения параметров

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

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

Шаг 6: Получить и активировать значения

  1. Чтобы получить значения параметров из бэкэнда Remote Config, вызовите метод fetchConfig() . Любые значения, которые вы устанавливаете на серверной части, извлекаются и кэшируются в объекте Remote Config.
  2. Чтобы сделать извлеченные значения параметров доступными для вашего приложения, вызовите activate() .

В случаях, когда вы хотите получить и активировать значения за один вызов, используйте fetchAndActivate() , как показано в этом примере:

Web version 9

import { fetchAndActivate } from "firebase/remote-config";

fetchAndActivate(remoteConfig)
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

Web version 8

remoteConfig.fetchAndActivate()
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

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

Дросселирование

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

Во время разработки приложения может потребоваться очень частое обновление кеша (много раз в час), чтобы обеспечить быструю итерацию при разработке и тестировании приложения. Чтобы обеспечить быструю итерацию проекта с многочисленными разработчиками, вы можете временно добавить в свое приложение свойство с низким минимальным интервалом выборки ( Settings.minimumFetchIntervalMillis ).

По умолчанию и рекомендуемый интервал выборки рабочей среды для Remote Config составляет 12 часов, что означает, что конфигурации не будут извлекаться из серверной части более одного раза в 12-часовое окно, независимо от того, сколько вызовов выборки фактически сделано. В частности, минимальный интервал выборки определяется в следующем порядке:

  1. Параметр в Settings.minimumFetchIntervalMillis .
  2. Значение по умолчанию 12 часов.

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

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