Pierwsze kroki ze Zdalnej konfiguracji Firebase


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 znajdziesz instrukcje rozpoczęcia pracy oraz przykładowy kod.

Krok 1. Dodaj do aplikacji Firebase i pakiet SDK Zdalnej konfiguracji

  1. Zainstaluj i inicjuj pakiety SDK Firebase dla Fluttera (jeśli nie zostało to jeszcze zrobione).

  2. W przypadku Zdalnej konfiguracji usługa Google Analytics jest wymagana do kierowania warunkowego instancji aplikacji na właściwości użytkowników i listy odbiorców. Upewnij się, że włącz Google Analytics w swoim projekcie.

  3. Aby zainstalować w katalogu głównym projektu Flutter wtyczkę Zdalna konfiguracja, uruchom to polecenie:

    flutter pub add firebase_remote_config
    

    W ramach konfigurowania Zdalnej konfiguracji musisz też dodać do aplikacji pakiet SDK Firebase dla Google Analytics:

    flutter pub add firebase_analytics
    
  4. Przebuduj projekt:

    flutter run
    
  5. 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 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 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

Korzystając z konsoli Firebase lub interfejsów API backendu Zdalnej konfiguracji, możesz tworzyć nowe domyślne wartości po stronie serwera, które zastąpią wartości w aplikacji zgodnie z wybraną przez Ciebie logiką warunkową lub kierowaniem na użytkowników. Ta sekcja i opis czynności tworzenia tych wartości w konsoli Firebase.

  1. W konsoli Firebase otwórz projekt.
  2. Aby wyświetlić panel sterowania Zdalną konfiguracją, w menu wybierz Zdalna konfiguracja.
  3. 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 odpowiadającą wartość domyślną w aplikacji), a także ustawić wartości warunkowe. Więcej informacji znajdziesz w artykule Parametry i warunki konfiguracji zdalnej.

Krok 6. Pobierz i aktywuj wartości

  1. 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.

  2. Aby udostępnić aplikacji pobrane wartości parametrów, wywołaj metodę Metoda 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 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 odbierania 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.

  1. 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.
     });
    
  2. Gdy następnym razem opublikujesz nową wersję Zdalnej konfiguracji, urządzenia, na których jest uruchomiona Twoja aplikacja i które nasłuchują zmian, aktywują nową konfigurację.

Ograniczenia

Jeśli aplikacja pobiera dane zbyt często w krótkim czasie, wywołania pobierania zostaną ograniczone, a wartość właściwości lastFetchStatus w komponencie FirebaseRemoteConfig będzie wynosić 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 tego nie zrobisz, zapoznaj się z Remote Config przypadkami użycia i pojęciami kluczowymi oraz dokumentacją dotyczącą zaawansowanych strategii, w tym: