Możesz używać Firebase Remote Config do definiowania parametrów w aplikacji i aktualizowania ich wartości w chmurze, co pozwala modyfikować wygląd i działanie 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 wczytywania Zdalnej konfiguracji.
Krok 1. Dodaj Firebase do 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 Firebase.
Dodaj Firebase C++ SDK do projektu C++.
Pamiętaj, że dodanie Firebase do projektu C++ wymaga wykonania zadań zarówno w Firebasekonsoli, jak i w otwartym projekcie C++ (np. pobierasz z konsoli pliki konfiguracyjne Firebase, a następnie przenosisz je do projektu C++).
Krok 2. Dodaj Remote Config do aplikacji
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 poniżej:
::firebase::remote_config::Initialize(app);
Po dodaniu Firebase do aplikacji:
Utwórz aplikację Firebase:
app = ::firebase::App::Create(::firebase::AppOptions());
Zainicjuj bibliotekę Remote Config, jak pokazano poniżej:
::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 działała ona zgodnie z oczekiwaniami, zanim połączy się z backendem Remote Config, a także aby wartości domyślne były dostępne, jeśli żadne nie są ustawione w backendzie.
Zdefiniuj zestaw nazw parametrów i domyślnych wartości parametrów za pomocą obiektu
ConfigKeyValue*
lub obiektuConfigKeyValueVariant*
o rozmiarze tablicy.Jeśli masz już skonfigurowane wartości parametrów backenduRemote 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 Pobieranie domyślnych ustawień szablonu.Remote ConfigDodaj te wartości do obiektu Remote Config za pomocą funkcji
SetDefaults()
.
Krok 4. Uzyskaj wartości parametrów, które będą używane w Twojej aplikacji
Możesz teraz pobierać wartości parametrów z obiektu Remote Config. Jeśli ustawisz wartości w Remote Config backendzie, pobierzesz je, a potem aktywujesz, będą one dostępne w aplikacji. W przeciwnym razie uzyskasz wartości parametrów w aplikacji skonfigurowane za pomocą SetDefaults()
.
Aby uzyskać te wartości, wywołaj metodę wymienioną poniżej, która jest mapowana na typ danych oczekiwany przez aplikację, podając klucz parametru jako argument:
Krok 5. Ustaw wartości parametrów
- W Firebasekonsoli otwórz projekt.
- W menu kliknij Remote Config, aby wyświetlić panel Remote Config.
- Zdefiniuj parametry o nazwach takich samych jak 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 artykule Remote Config parametry i warunki.
Krok 6. Pobierz i aktywuj wartości
- Aby pobrać wartości parametrów z backendu Remote Config, wywołaj metodę
Fetch()
. Wszystkie wartości ustawione w backendzie są pobierane i buforowane w obiekcie Remote Config. - Aby pobrane wartości parametrów były dostępne w aplikacji, wywołaj funkcję
ActivateFetched()
Krok 7. Słuchaj aktualizacji w czasie rzeczywistym
Po pobraniu wartości parametrów możesz użyć Remote Config w czasie rzeczywistymRemote Config, aby nasłuchiwać aktualizacji z backendu. Sygnały w czasie rzeczywistymRemote Config informują połączone urządzenia o dostępności aktualizacji i automatycznie pobierają zmiany po opublikowaniu nowej Remote Config wersji.
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 rozpocząć nasłuchiwanie aktualizacji i automatycznie pobierać nowe lub zaktualizowane wartości parametrów. Poniższy przykład nasłuchuje aktualizacji i gdy zostanie wywołana funkcjaActivate
, używa nowo pobranych wartości do wyświetlenia zaktualizowanego powitania.
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 opublikujesz nową wersję Remote Config, urządzenia, na których działa Twoja aplikacja i które nasłuchują zmian, wywołają odbiornik aktualizacji konfiguracji.
Dalsze kroki
Jeśli jeszcze tego nie zrobiono, zapoznaj się z Remote Config przypadkami użycia i dokumentacją dotyczącą kluczowych pojęć i zaawansowanych strategii, w tym: