| Wybierz platformę: | iOS+ Android Web Flutter Unity C++ |
Za pomocą Zdalnej konfiguracji Firebase możesz definiować parametry w aplikacji i aktualizować ich wartości w chmurze, co pozwala modyfikować wygląd i działanie aplikacji bez konieczności dystrybucji aktualizacji aplikacji. Ten przewodnik zawiera instrukcje dotyczące rozpoczęcia pracy oraz przykładowy kod.
Krok 1. Dodaj Firebase i pakiet SDK Zdalnej konfiguracji do aplikacji
Zainstaluj i zainicjuj pakiety SDK Firebase dla Fluttera jeśli nie masz ich jeszcze zainstalowanych.
W przypadku Zdalnej konfiguracji usługa Google Analytics jest wymagana 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, w katalogu głównym projektu Fluttera uruchom to polecenie:
flutter pub add firebase_remote_configW ramach konfigurowania Zdalnej konfiguracji musisz też dodać do aplikacji pakiet SDK Firebase dla Google Analytics:
flutter pub add firebase_analyticsPonownie skompiluj projekt:
flutter runJeśli używasz Zdalnej konfiguracji w macOS, włącz udostępnianie pęku kluczy w Xcode.
Krok 2. Pobierz obiekt klasy typu singleton Zdalnej konfiguracji
Pobierz obiekt Zdalnej konfiguracji i ustaw minimalny interwał pobierania ustawień, aby umożliwić ich częste odświeżanie:
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(hours: 1),
));
Obiekt klasy typu 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 są udostępniane aplikacji.
Podczas programowania zalecamy ustawienie stosunkowo niskiego minimalnego interwału pobierania. Więcej informacji znajdziesz w sekcji Ograniczenia.
Krok 3. Ustaw domyślne wartości parametrów w aplikacji
W obiekcie Zdalnej konfiguracji możesz ustawić domyślne wartości parametrów w aplikacji, aby aplikacja działała zgodnie z oczekiwaniami, zanim połączy się z backendem Zdalnej konfiguracji, oraz aby wartości domyślne były dostępne, jeśli w backendzie nie są ustawione żadne wartości.
await remoteConfig.setDefaults(const {
"example_param_1": 42,
"example_param_2": 3.14159,
"example_param_3": true,
"example_param_4": "Hello, world!",
});
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 Zdalnej konfiguracji. Jeśli ustawisz wartości w backendzie, pobierzesz je i aktywujesz, będą one dostępne dla Twojej aplikacji. W przeciwnym razie uzyskasz wartości parametrów w aplikacji skonfigurowane za pomocą funkcji setDefaults().
Aby uzyskać te wartości, wywołaj dowolną z tych metod, które są mapowane na typ danych oczekiwany przez Twoją 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 tworzyć nowe domyślne wartości po stronie serwera, które zastępują wartości w aplikacji zgodnie z wybraną logiką warunkową lub kierowaniem na użytkowników. W tej sekcji opisujemy, jak utworzyć te wartości w konsoli Firebase.
W konsoli Firebase otwórz DevOps i zaangażowanie > Zdalna konfiguracja.
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) oraz 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ć pobrane wartości parametrów aplikacji, wywołaj metodę
activate().Jeśli chcesz pobrać i aktywować wartości za pomocą jednego wywołania, możesz użyć żądania
fetchAndActivate(), aby pobrać wartości z backendu Zdalnej konfiguracji i udostępnić je aplikacji:await remoteConfig.fetchAndActivate();
Ponieważ te zaktualizowane wartości parametrów wpływają na działanie i wygląd aplikacji, należy aktywować pobrane wartości w takim momencie, aby zapewnić użytkownikowi płynne działanie aplikacji, np. przy następnym otwarciu aplikacji przez użytkownika. 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żyć Zdalnej konfiguracji w czasie rzeczywistym, aby nasłuchiwać aktualizacji z backendu Zdalnej konfiguracji. Zdalna konfiguracja w czasie rzeczywistym wysyła sygnały do połączonych urządzeń, gdy dostępne są aktualizacje, i automatycznie pobiera zmiany po opublikowaniu nowej wersji Zdalnej konfiguracji.
Pamiętaj, że Zdalna konfiguracja w czasie rzeczywistym nie jest dostępna w przypadku aplikacji internetowych.
W aplikacji użyj funkcji
onConfigUpdated, aby rozpocząć nasłuchiwanie aktualizacji i automatycznie pobierać 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, urządzenia, na których działa Twoja aplikacja i które nasłuchują zmian, aktywują nową konfigurację.
Ograniczenia
Jeśli aplikacja pobiera dane zbyt wiele razy w krótkim czasie, wywołania pobierania zostaną ograniczone, a wartość właściwości lastFetchStatus w FirebaseRemoteConfig będzie równa RemoteConfigFetchStatus.throttle.
Domyślny minimalny interwał pobierania w Zdalnej konfiguracji wynosi 12 godzin. Oznacza to, że konfiguracje nie będą pobierane z backendu częściej niż raz na 12 godzin, niezależnie od tego, ile wywołań pobierania zostanie wykonanych.
Podczas tworzenia aplikacji, jeśli nie używasz Zdalnej konfiguracji w czasie rzeczywistym (co zalecamy), możesz często pobierać i aktywować konfiguracje (wiele razy na godzinę), aby szybko iterować podczas tworzenia i testowania aplikacji. Aby umożliwić szybkie iterowanie w projekcie z maksymalnie 10 deweloperami, możesz 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),
));