| Выберите платформу: | iOS+ Android Веб Flutter Unity C++ |
С помощью Firebase Remote Config можно задавать параметры в приложении и обновлять их значения в облаке, чтобы менять внешний вид и поведение приложения без выпуска обновлений.
Библиотека Remote Config используется для хранения значений параметров по умолчанию, получения обновленных значений параметров из серверного кода Remote Config и управления тем, когда полученные значения становятся доступны приложению. Подробнее о стратегиях загрузки Remote Config…
Шаг 1. Добавьте Firebase в приложение
Чтобы использовать Remote Config, необходимо:
Зарегистрируйте проект 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 выберите DevOps & Engagement (DevOps и вовлечение) > Remote Config (Удаленная конфигурация).
Задайте параметры с теми же названиями, что и в приложении. Для каждого параметра можно указать значение по умолчанию (которое переопределит значение по умолчанию в приложении) и условные значения. Подробнее о параметрах и условиях Remote Config…
Шаг 6. Получите и активируйте значения
- Чтобы получить значения параметров из серверной части Remote Config, вызовите метод
Fetch(). Все значения, заданные в серверной части, извлекаются и кешируются в объекте Remote Config. - Чтобы полученные значения параметров стали доступны в приложении, вызовите метод
ActivateFetched().
Шаг 7. Прослушивайте обновления в реальном времени
После получения значений параметров вы можете использовать Remote Config в реальном времени, чтобы отслеживать обновления из серверной части Remote Config. Remote Config в реальном времени сообщает подключенным устройствам о доступности обновлений и автоматически получает изменения после публикации новой версии Remote Config.
Обновления в реальном времени поддерживаются в SDK Firebase C++ версии 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 устройства, на которых запущено ваше приложение и которые отслеживают изменения, вызовут прослушиватель обновления конфигурации.