Za pomocą Zdalnej konfiguracji Firebase możesz zdefiniować parametry w aplikacji i aktualizować ich wartości w chmurze, co pozwala modyfikować wygląd i działanie aplikacji bez jej rozpowszechniania. W tym przewodniku opisujemy, od czego zacząć, i przedstawiamy przykładowego kodu.
Krok 1. Dodaj do aplikacji Firebase i pakiet SDK Zdalnej konfiguracji
Zainstaluj i zainicjuj pakiety SDK Firebase na potrzeby Flutter, jeśli: jeszcze tego nie zrobiliśmy.
W przypadku Zdalnej konfiguracji usługa Google Analytics jest wymagana do obsługi kierowanie warunkowe instancji aplikacji właściwości użytkowników i odbiorców. Upewnij się, że włącz Google Analytics w swoim projekcie.
W katalogu głównym projektu Flutter uruchom to polecenie aby zainstalować wtyczkę Zdalnej konfiguracji:
flutter pub add firebase_remote_config
Podczas konfigurowania Zdalnej konfiguracji musisz też dodać pakiet SDK Firebase. dla Google Analytics do aplikacji:
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 umożliwiający 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 aktualizacji wartości parametrów z backendu i kontrolować, kiedy pobierane wartości dostępnych w Twojej aplikacji.
Podczas programowania zalecamy ustawienie stosunkowo niskiej minimalnej wartości pobierania interwału. Więcej informacji znajdziesz w sekcji Ograniczanie wykorzystania.
Krok 3. Ustaw domyślne wartości parametrów w aplikacji
Wartości domyślne parametrów w aplikacji możesz ustawić w Zdalnej konfiguracji. dzięki czemu aplikacja działa zgodnie z oczekiwaniami jeszcze przed nawiązaniem połączenia backend Zdalnej konfiguracji, dzięki czemu dostępne są wartości domyślne, jeśli nie są ustawionym w backendzie.
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
w backendzie, pobierz je, a następnie aktywuj,
te wartości są dostępne dla aplikacji. W przeciwnym razie aplikacja
wartości parametrów skonfigurowanych za pomocą funkcji setDefaults()
.
Aby uzyskać te wartości, wywołaj podaną poniżej metodę, która jest mapowana na typ danych oczekiwanych 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 interfejsy API backendu Zdalnej konfiguracji, możesz utworzyć nowe domyślne wartości po stronie serwera, które zastąpią wartości w aplikacji zgodnie z logiką warunkową lub kierowaniem na użytkowników. Ta sekcja i opis czynności tworzenia tych wartości w konsoli Firebase.
- W konsoli Firebase otwórz projekt.
- Aby ją wyświetlić, wybierz z menu Zdalna konfiguracja. panelu.
- Zdefiniuj parametry o takich samych nazwach jak parametry zdefiniowane w sekcji do aplikacji. Dla każdego parametru możesz ustawić wartość domyślną (która będzie ostatecznie zastąpić odpowiednią wartość domyślną w aplikacji). ustawić wartości warunkowe. Więcej informacji znajdziesz w sekcji Parametry Zdalnej konfiguracji i Warunki.
Krok 6. Pobierz i aktywuj wartości
Aby pobrać wartości parametrów z backendu Zdalnej konfiguracji, wywołaj funkcję Metoda
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ę Metoda
activate()
.W przypadku, gdy chcesz pobrać i aktywować wartości w jednym wywołaniu, może użyć żądania
fetchAndActivate()
do pobrania wartości z Backend Zdalnej konfiguracji i udostępnianie ich aplikacji:await remoteConfig.fetchAndActivate();
Te zaktualizowane wartości parametrów wpływają na działanie i wygląd Twojej aplikacji, musisz aktywować pobrane wartości w takim czasie, aby zapewnić dla użytkownika, np. gdy następnym razem otworzy . Zapoznaj się ze strategiami 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 do nasłuchiwania do sprawdzania aktualizacji z backendu Zdalnej konfiguracji. Sygnały Zdalnej konfiguracji w czasie rzeczywistym do urządzeń, gdy dostępne są aktualizacje i automatycznie pobiera zmian po opublikowaniu nowej wersji Zdalnej konfiguracji.
Pamiętaj, że Zdalna konfiguracja w czasie rzeczywistym jest niedostępna w przeglądarkach.
Użyj aplikacji
onConfigUpdated
, aby zacząć nasłuchiwać aktualizacji i automatycznego pobierania nowych 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, urządzenia, które Gdy aplikacja jest uruchomiona, nasłuchiwanie zmian spowoduje aktywowanie nowej konfiguracji.
Ograniczenia
Jeśli aplikacja pobierze zbyt wiele razy w krótkim okresie,
i wartość parametru lastFetchStatus
w elemencie FirebaseRemoteConfig
będzie mieć wartość RemoteConfigFetchStatus.throttle
.
Domyślny minimalny interwał pobierania dla Zdalnej konfiguracji to 12 godzin, co oznacza, że konfiguracje są pobierane z backendu nie częściej niż raz w ciągu 12 godzin niezależnie od tego, ile zostało w rzeczywistości wywołań pobierania.
Jeśli podczas tworzenia aplikacji nie używasz Zdalnej konfiguracji w czasie rzeczywistym (które
zalecane), warto często pobierać i aktywować konfiguracje.
(wiele razy na godzinę), co pozwala na szybkie iteracje w trakcie opracowywania i testowania
. Aby zapewnić szybką iterację projektu z udziałem nawet 10 deweloperów:
może tymczasowo ustawić niski minimalny interwał pobierania za pomocą funkcji setConfigSettings()
.
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 5),
));
Dalsze kroki
Jeśli jeszcze nie znasz Remote Config, przypadkach użycia i przyjrzyj się niektórym dokumentację kluczowych koncepcji i zaawansowanych strategii, w tym: