| Выберите платформу: | iOS+ Android Web Flutter Unity C++ |
С помощью Firebase Remote Config вы можете определять параметры в своем приложении и обновлять их значения в облаке, что позволяет изменять внешний вид и поведение приложения без распространения обновлений.
Библиотека Remote Config используется для хранения значений параметров по умолчанию в приложении, получения обновленных значений параметров из бэкэнда Remote Config и управления моментом, когда полученные значения становятся доступны вашему приложению. Для получения дополнительной информации см. Стратегии загрузки Remote Config .
Шаг 1: Добавьте Firebase в ваше приложение.
Прежде чем использовать Remote Config , необходимо:
Зарегистрируйте свой проект на C++ и настройте его для использования Firebase.
Если ваш проект на C++ уже использует Firebase, значит, он уже зарегистрирован и настроен для работы с Firebase.
Добавьте Firebase C++ SDK в свой проект на C++.
Обратите внимание, что добавление Firebase в ваш проект C++ включает в себя задачи как в консоли Firebase , так и в открытом проекте C++ (например, вы загружаете файлы конфигурации Firebase из консоли, а затем перемещаете их в свой проект C++).
Шаг 2: Добавьте Remote Config в ваше приложение.
Android
После добавления Firebase в ваше приложение:
Создайте приложение Firebase, передав в качестве параметров среду JNI и Activity:
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
Инициализируйте библиотеку Remote Config , как показано ниже:
::firebase::remote_config::Initialize(app);
iOS+
После добавления Firebase в ваше приложение:
Создайте приложение Firebase:
app = ::firebase::App::Create(::firebase::AppOptions());
Инициализируйте библиотеку Remote Config , как показано ниже:
::firebase::remote_config::Initialize(app);
Шаг 3: Установите значения параметров по умолчанию в приложении.
В объекте Remote Config можно задать значения параметров по умолчанию для всего приложения, чтобы оно работало должным образом до подключения к бэкэнду Remote Config , а также чтобы были доступны значения по умолчанию, если они не заданы в бэкэнде.
Определите набор имен параметров и значений параметров по умолчанию, используя объект
ConfigKeyValue*илиConfigKeyValueVariant*, указав размер массива.Если вы уже настроили значения параметров бэкэнда Remote Config , вы можете загрузить файл, содержащий эти пары ключ-значение, и использовать его для создания объекта
map. Для получения дополнительной информации см. раздел «Загрузка значений по умолчанию шаблона Remote Config .Добавьте эти значения в объект Remote Config с помощью
SetDefaults().
Шаг 4: Получите значения параметров для использования в вашем приложении.
Теперь вы можете получать значения параметров из объекта Remote Config . Если вы задали значения в бэкэнде Remote Config , получили их, а затем активировали, эти значения будут доступны вашему приложению. В противном случае вы получите значения параметров, настроенные внутри приложения с помощью SetDefaults() .
Чтобы получить эти значения, вызовите любой из следующих методов, соответствующих ожидаемому вашим приложением типу данных, передав в качестве аргумента ключ параметра:
Шаг 5: Установите значения параметров.
- В консоли Firebase откройте свой проект.
- Чтобы просмотреть панель мониторинга удаленной Remote Config , выберите в меню пункт Remote Config .
- Определите параметры с теми же именами, что и параметры, определенные в вашем приложении. Для каждого параметра можно установить значение по умолчанию (которое в конечном итоге переопределит значение по умолчанию в приложении) и условные значения. Для получения дополнительной информации см. раздел «Параметры и условия Remote Config .
Шаг 6: Получение и активация значений
- Для получения значений параметров из бэкэнда Remote Config вызовите метод
Fetch(). Все значения, которые вы зададите в бэкэнде, будут получены и кэшированы в объекте Remote Config . - Чтобы сделать полученные значения параметров доступными для вашего приложения, вызовите метод
ActivateFetched()
Шаг 7: Следите за обновлениями в режиме реального времени.
После получения значений параметров вы можете использовать Remote Config в реальном времени для отслеживания обновлений от бэкэнда Remote Config . Функция Remote Config в реальном времени сообщает подключенным устройствам о наличии обновлений и автоматически получает изменения после публикации новой версии Remote Config .
Поддержка обновлений в реальном времени обеспечивается Firebase C++ SDK версии 11.0.0 и выше для платформ Android и Apple.
- В вашем приложении вызовите
AddOnConfigUpdateListener, чтобы начать прослушивание обновлений и автоматически получать все новые или обновленные значения параметров. В следующем примере происходит прослушивание обновлений, и при вызовеActivateиспользуются полученные значения для отображения обновленного приветственного сообщения.
remote_config->AddOnConfigUpdateListener( [](firebase::remote_config::ConfigUpdate&& config_update, firebase::remote_config::RemoteConfigError remote_config_error) { if (remote_config_error != firebase::remote_config::kRemoteConfigErrorNone) { printf("Error listening for config updates: %d", remote_config_error); } // Search the `updated_keys` set for the key "welcome_message." // `updated_keys` represents the keys that have changed since the last // fetch. if (std::find(config_update.updated_keys.begin(), config_update.updated_keys.end(), "welcome_message") != config_update.updated_keys.end()) { remote_config->Activate().OnCompletion( [&](const firebase::Future& completed_future, void* user_data) { // The key "welcome_message" was found within `updated_keys` and // can be activated. if (completed_future.error() == 0) { DisplayWelcomeMessage(); } else { printf("Error activating config: %d", completed_future.error()); } }, nullptr); } });
В следующий раз, когда вы опубликуете новую версию вашей Remote Config , устройства, на которых запущено ваше приложение и которые отслеживают изменения, вызовут обработчик обновления конфигурации.