Za pomocą Firebase Remote Config możesz definiować parametry w aplikacji i zmieniać ich wartości w chmurze, co umożliwia modyfikowanie wyglądu i zachowania aplikacji bez rozpowszechniania jej aktualizacji.
Biblioteka Remote Config służy do przechowywania domyślnych wartości parametrów w aplikacji, pobierania zaktualizowanych wartości parametrów z backendu Remote Config oraz kontrolowania, kiedy pobrane wartości są udostępniane aplikacji. Więcej informacji znajdziesz w artykule Strategie ładowania Zdalnej konfiguracji.
Krok 1. Dodaj Firebase do swojej aplikacji
Zanim zaczniesz korzystać z Remote Config, musisz:
Zarejestruj projekt C++ i skonfiguruj go pod kątem używania Firebase.
Jeśli Twój projekt w C++ korzysta już z Firebase, jest już zarejestrowany i skonfigurowany pod kątem tej usługi.
Dodaj pakiet SDK Firebase C++ do projektu C++.
Pamiętaj, że dodanie Firebase do projektu C++ wymaga wykonania zadań zarówno w konsoli Firebase, jak i w otwartym projekcie C++ (np. musisz pobrać pliki konfiguracyjne Firebase z konsoli, a następnie przenieść je do projektu C++).
Krok 2. Dodaj Remote Config do aplikacji
Android
Po dodaniu Firebase do aplikacji:
Utwórz aplikację Firebase, przekazując środowisko JNI i aktywność:
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
Zainicjuj bibliotekę Remote Config, jak pokazano na ilustracji:
::firebase::remote_config::Initialize(app);
iOS+
Po dodaniu Firebase do aplikacji:
Utwórz aplikację Firebase:
app = ::firebase::App::Create(::firebase::AppOptions());
Zainicjuj bibliotekę Remote Config, jak pokazano na ilustracji:
::firebase::remote_config::Initialize(app);
Krok 3. Ustaw domyślne wartości parametrów w aplikacji
W obiekcie Remote Config możesz ustawić domyślne wartości parametrów w aplikacji, aby aplikacja działała zgodnie z oczekiwaniami przed nawiązaniem połączenia z backendem Remote Config, a jeśli w backendzie nie zostały ustawione żadne wartości domyślne.
Zdefiniuj zestaw nazw parametrów i ich domyślnych wartości za pomocą obiektu
ConfigKeyValue*
lub obiektuConfigKeyValueVariant*
o rozmiarze tablicy.Jeśli masz już skonfigurowane wartości parametrów backendu Remote Config, możesz pobrać plik zawierający te pary klucz-wartość i użyć go do utworzenia obiektu
map
. Więcej informacji znajdziesz w artykule o pobieraniu wartości domyślnych szablonu Remote Config.Dodaj te wartości do obiektu Remote Config za pomocą elementu
SetDefaults()
.
Krok 4. Uzyskaj wartości parametrów, które będą używane w Twojej aplikacji
Teraz możesz pobierać wartości parametrów z obiektu Remote Config. Jeśli ustawisz wartości na zapleczu Remote Config, pobierzesz je, a potem je aktywujesz, będą one dostępne w aplikacji. W przeciwnym razie otrzymasz wartości parametrów w aplikacji skonfigurowane za pomocą funkcji SetDefaults()
.
Aby uzyskać te wartości, wywołaj metodę wymienioną poniżej, która jest mapowana na typ danych oczekiwany przez aplikację, podając jako argument klucz parametru:
Krok 5. Ustaw wartości parametrów
- W konsoli Firebase otwórz projekt.
- Wybierz w menu Remote Config, aby wyświetlić panel Remote Config.
- Zdefiniuj parametry o tych samych nazwach, co parametry zdefiniowane w aplikacji. Dla każdego parametru możesz ustawić wartość domyślną (która ostatecznie zastąpi wartość domyślną w aplikacji) i wartości warunkowe. Więcej informacji znajdziesz w parametrach i warunkach Remote Config.
Krok 6. Pobierz i aktywuj wartości
- Aby pobrać wartości parametrów z back-endu Remote Config, wywołaj metodę
Fetch()
. Wszystkie wartości ustawione na zapleczu są pobierane i przechowywane w obiekcie Remote Config. - Aby udostępnić wartości parametrów pobrane przez aplikację, wywołaj funkcję
ActivateFetched()
.
Krok 7. Słuchaj aktualizacji w czasie rzeczywistym
Po pobraniu wartości parametrów możesz używać funkcji Remote Config w czasie rzeczywistym do nasłuchiwania aktualizacji z backendu Remote Config. W czasie rzeczywistym Remote Config sygnalizuje połączonym urządzeniom, że są dostępne aktualizacje, i automatycznie pobiera zmiany po opublikowaniu nowej wersji Remote Config.
Aktualizacje w czasie rzeczywistym są obsługiwane przez pakiet SDK Firebase C++ w wersji 11.0.0 lub nowszej na platformach Android i Apple.
- W aplikacji wywołaj funkcję
AddOnConfigUpdateListener
, aby zacząć nasłuchiwać aktualizacji i automatycznie pobierać nowe lub zaktualizowane wartości parametrów. Ten przykład nasłuchuje aktualizacji i po wywołaniu funkcjiActivate
używa nowo pobranych wartości do wyświetlenia zaktualizowanego komunikatu powitalnego.
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); } });
Gdy następnym razem opublikujesz nową wersję usługi Remote Config, urządzenia, na których działa Twoja aplikacja i nasłuchują zmian, wywołają detektor aktualizacji konfiguracji.
Dalsze kroki
Jeśli jeszcze tego nie zrobisz, zapoznaj się z Remote Config przypadkami użycia i pojęciami kluczowymi oraz dokumentacją dotyczącą zaawansowanych strategii, w tym: