Za pomocą Zdalnej konfiguracji Firebase możesz definiować parametry w aplikacji i aktualizować ich wartości w chmurze. Pozwala to modyfikować wygląd i działanie aplikacji bez jej aktualizowania. Ten przewodnik zawiera informacje o tym, jak zacząć korzystać z narzędzia, oraz przykładowy kod.
Krok 1. Dodaj do aplikacji Firebase i pakiet SDK Zdalnej konfiguracji
Zainstaluj i zainicjuj pakiety SDK Firebase na potrzeby Flutter, jeśli jeszcze ich nie masz.
Zdalna konfiguracja wymaga Google Analytics do kierowania warunkowego instancji aplikacji na odbiorców i właściwości użytkowników. Pamiętaj, aby włączyć Google Analytics w swoim projekcie.
Aby zainstalować wtyczkę Zdalnej konfiguracji, uruchom to polecenie w katalogu głównym projektu Flutter:
flutter pub add firebase_remote_config
Poza tym w ramach konfigurowania Zdalnej konfiguracji musisz dodać do swojej aplikacji pakiet SDK Firebase dla Google Analytics:
flutter pub add firebase_analytics
Przebuduj projekt:
flutter run
Jeśli używasz Zdalnej konfiguracji w systemie macOS, włącz Udostępnianie pęku kluczy w Xcode.
Krok 2. Pobierz obiekt klasy typu singleton Zdalnej konfiguracji
Pobierz instancję obiektu Zdalnej konfiguracji i ustaw minimalny interwał pobierania, aby umożliwić częste odświeżanie:
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(hours: 1),
));
Obiekt singleton służy do przechowywania domyślnych wartości parametrów w aplikacji, pobierania zaktualizowanych wartości parametrów z backendu i kontrolowania, kiedy pobrane wartości mają być udostępniane aplikacji.
Podczas programowania zalecamy ustawienie stosunkowo niskiego minimalnego odstępu pobierania. Więcej informacji znajdziesz w sekcji Ograniczanie wykorzystania.
Krok 3. Ustaw domyślne wartości parametrów w aplikacji
W obiekcie Zdalnej konfiguracji możesz ustawić domyślne wartości parametrów aplikacji, dzięki czemu aplikacja będzie działać zgodnie z oczekiwaniami przed nawiązaniem połączenia z backendem Zdalnej konfiguracji, a jeśli w backendzie nie zostaną ustawione żadne wartości domyślne, będą one dostępne.
await remoteConfig.setDefaults(const {
"example_param_1": 42,
"example_param_2": 3.14159,
"example_param_3": true,
"example_param_4": "Hello, world!",
});
Krok 4. Pobierz wartości parametrów do wykorzystania w aplikacji
Teraz możesz pobierać wartości parametrów z obiektu Zdalnej konfiguracji. Jeśli ustawisz wartości w backendzie, pobierzesz je i aktywujesz, będą one dostępne dla Twojej aplikacji. W przeciwnym razie otrzymasz wartości parametrów aplikacji skonfigurowane za pomocą funkcji setDefaults()
.
Aby uzyskać te wartości, wywołaj podaną poniżej metodę, która jest mapowana na typ danych spodziewany przez aplikację, podając klucz parametru jako argument:
getBool()
getDouble()
getInt()
getString()
Krok 5. Ustaw wartości parametrów w backendzie Zdalnej konfiguracji
Za pomocą konsoli Firebase lub interfejsów API backendu Zdalnej konfiguracji możesz utworzyć nowe wartości domyślne po stronie serwera, które zastąpią wartości w aplikacji odpowiednio do oczekiwanej logiki warunkowej lub kierowania na użytkowników. W tej sekcji opisujemy, jak utworzyć te wartości w konsoli Firebase.
- W konsoli Firebase otwórz projekt.
- Z menu wybierz Zdalna konfiguracja, aby wyświetlić panel Zdalnej konfiguracji.
- Zdefiniuj parametry o takich samych nazwach jak parametry zdefiniowane w aplikacji. Dla każdego parametru możesz ustawić wartość domyślną (która ostatecznie zastąpi odpowiednią wartość domyślną w aplikacji), a także możesz ustawić wartości warunkowe. Więcej informacji znajdziesz w artykule Parametry i warunki Zdalnej konfiguracji.
Krok 6. Pobierz i aktywuj wartości
Aby pobrać wartości parametrów z backendu Zdalnej konfiguracji, wywołaj metodę
fetch()
. Wszystkie wartości ustawione w backendzie są pobierane i przechowywane w obiekcie Zdalnej konfiguracji.Aby udostępnić aplikacji pobrane wartości parametrów, wywołaj metodę
activate()
.Jeśli chcesz pobrać i aktywować wartości w jednym wywołaniu, możesz użyć żądania
fetchAndActivate()
, aby pobrać wartości z backendu Zdalnej konfiguracji i udostępnić je aplikacji:await remoteConfig.fetchAndActivate();
Te zaktualizowane wartości parametrów wpływają na działanie i wygląd aplikacji, dlatego musisz aktywować pobrane wartości w czasie, który zapewni użytkownikom płynne działanie, np. gdy następnym razem otworzy on Twoją aplikację. Więcej informacji i przykłady znajdziesz w artykule Strategie wczytywania Zdalnej konfiguracji.
Krok 7. Nasłuchuj aktualizacji w czasie rzeczywistym
Po pobraniu wartości parametrów możesz używać Zdalnej konfiguracji w czasie rzeczywistym, aby nasłuchiwać aktualizacji z backendu Zdalnej konfiguracji. Zdalna konfiguracja w czasie rzeczywistym sygnalizuje połączonym urządzeniom, że są dostępne aktualizacje, i automatycznie pobiera zmiany po opublikowaniu nowej wersji Zdalnej konfiguracji.
Pamiętaj, że Zdalna konfiguracja w czasie rzeczywistym jest niedostępna w przeglądarkach.
Użyj w aplikacji
onConfigUpdated
, aby zacząć nasłuchiwać aktualizacji i automatycznie pobierać wszystkie nowe wartości parametrów.remoteConfig.onConfigUpdated.listen((event) async { await remoteConfig.activate(); // Use the new config values here. });
Gdy następnym razem opublikujesz nową wersję Zdalnej konfiguracji, nowa konfiguracja zostanie aktywowana na urządzeniach, na których działa Twoja aplikacja i nasłuchują zmian.
Ograniczenia
Jeśli aplikacja pobierze zbyt wiele razy w krótkim okresie, wywołania pobierania zostaną ograniczone, a właściwość lastFetchStatus
parametru FirebaseRemoteConfig
będzie miała wartość RemoteConfigFetchStatus.throttle
.
Domyślny minimalny interwał pobierania dla Zdalnej konfiguracji to 12 godzin, co oznacza, że konfiguracje będą pobierane z backendu tylko raz w ciągu 12 godzin, niezależnie od tego, ile rzeczywiście zostało wykonanych wywołań pobierania.
Jeśli w trakcie tworzenia aplikacji nie używasz Zdalnej konfiguracji w czasie rzeczywistym (zalecanej przez nas), warto bardzo często pobierać i aktywować konfiguracje (wiele razy na godzinę), aby umożliwić szybkie iteracje podczas tworzenia i testowania aplikacji. Aby uwzględnić gwałtowne iteracje w projekcie obejmującym do 10 programistów, możesz tymczasowo ustawić niski minimalny interwał za pomocą setConfigSettings()
.
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 5),
));
Dalsze kroki
Zapoznaj się z przypadkami użycia Zdalnej konfiguracji i zapoznaniem się z niektórymi kluczowymi pojęciami i dokumentacją zaawansowanych strategii, w tym: