Zacznij korzystać ze zdalnej konfiguracji Firebase


Za pomocą Firebase Remote Config możesz definiować parametry w swojej aplikacji i aktualizować ich wartości w chmurze, co pozwala modyfikować wygląd i zachowanie aplikacji bez rozpowszechniania aktualizacji aplikacji. Ten przewodnik przeprowadzi Cię przez kolejne kroki i zawiera przykładowy kod.

Krok 1: Dodaj Firebase i pakiet SDK do zdalnej konfiguracji do swojej aplikacji

  1. Zainstaluj i zainicjuj zestawy SDK Firebase dla Flutter, jeśli jeszcze tego nie zrobiłeś.

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

  3. Z katalogu głównego projektu Flutter uruchom następującą komendę, aby zainstalować wtyczkę Remote Config:

    flutter pub add firebase_remote_config
    

    Ponadto w ramach konfiguracji zdalnej konfiguracji musisz dodać do swojej aplikacji pakiet SDK Firebase dla Google Analytics:

    flutter pub add firebase_analytics
    
  4. Przebuduj swój 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 pojedynczy obiekt Remote Config

Pobierz instancję obiektu Remote Config 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 zaplecza i kontrolowania, kiedy pobrane wartości są udostępniane aplikacji.

Podczas opracowywania zaleca się ustawienie stosunkowo niskiego minimalnego interwału pobierania. Aby uzyskać więcej informacji, zobacz Ograniczanie .

Krok 3: Ustaw domyślne wartości parametrów w aplikacji

Możesz ustawić domyślne wartości parametrów w aplikacji w obiekcie Remote Config, tak aby aplikacja zachowywała się zgodnie z oczekiwaniami przed połączeniem się z backendem Remote Config i aby dostępne były wartości domyślne, jeśli w backendzie nie ustawiono żadnych 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 do wykorzystania w swojej aplikacji

Teraz możesz uzyskać wartości parametrów z obiektu Remote Config. Jeśli ustawisz wartości w backendie, pobierzesz je, a następnie aktywujesz, te wartości będą dostępne dla Twojej aplikacji. W przeciwnym razie wartości parametrów w aplikacji zostaną skonfigurowane za pomocą setDefaults() .

Aby uzyskać te wartości, wywołaj poniższą metodę, która odwzorowuje typ danych oczekiwany przez Twoją aplikację, podając klucz parametru jako argument:

  • getBool()
  • getDouble()
  • getInt()
  • getString()

Krok 5: Ustaw wartości parametrów w zapleczu zdalnej konfiguracji

Korzystając z konsoli Firebase lub interfejsów API zaplecza Remote Config , możesz utworzyć nowe wartości domyślne po stronie serwera, które zastępują wartości w aplikacji zgodnie z żądaną logiką warunkową lub kierowaniem na użytkownika. W tej sekcji opisano kroki konsoli Firebase umożliwiające utworzenie tych wartości.

  1. W konsoli Firebase otwórz swój projekt.
  2. Wybierz opcję Zdalna konfiguracja z menu, aby wyświetlić pulpit nawigacyjny Zdalnej konfiguracji.
  3. 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), możesz także ustawić wartości warunkowe. Aby dowiedzieć się więcej, zobacz Parametry i warunki zdalnej konfiguracji .

Krok 6: Pobierz i aktywuj wartości

  1. Aby pobrać wartości parametrów z zaplecza Remote Config, wywołaj metodę fetch() . Wszelkie wartości ustawione w backendie są pobierane i przechowywane w obiekcie Remote Config.

  2. Aby udostępnić aplikacji pobrane wartości parametrów, wywołaj metodę activate() .

    W przypadkach, gdy chcesz pobrać i aktywować wartości w jednym wywołaniu, możesz użyć żądania fetchAndActivate() w celu pobrania wartości z zaplecza zdalnej konfiguracji i udostępnienia ich aplikacji:

    await remoteConfig.fetchAndActivate();
    

Ponieważ te zaktualizowane wartości parametrów wpływają na zachowanie i wygląd aplikacji, należy aktywować pobrane wartości w czasie zapewniającym użytkownikowi bezproblemową obsługę, na przykład przy następnym otwarciu aplikacji. Więcej informacji i przykładów można znaleźć w artykule Strategie ładowania zdalnej konfiguracji .

Krok 7: Słuchaj aktualizacji w czasie rzeczywistym

Po pobraniu wartości parametrów można używać funkcji Remote Config w czasie rzeczywistym do nasłuchiwania aktualizacji z zaplecza Remote Config. Zdalna konfiguracja w czasie rzeczywistym sygnalizuje podłączonym urządzeniom dostępność aktualizacji i automatycznie pobiera zmiany po opublikowaniu nowej wersji Zdalnej konfiguracji.

Należy pamiętać, że zdalna konfiguracja w czasie rzeczywistym nie jest dostępna w Internecie.

  1. W swojej aplikacji użyj 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.
     });
    
  2. Następnym razem, gdy opublikujesz nową wersję Zdalnej konfiguracji, urządzenia, na których działa Twoja aplikacja i nasłuchują zmian, aktywują nową konfigurację.

Dławienie

Jeśli aplikacja zostanie pobrana zbyt wiele razy w krótkim czasie, wywołania pobierania zostaną ograniczone, a wartość właściwości lastFetchStatus FirebaseRemoteConfig będzie wynosić RemoteConfigFetchStatus.throttle .

Domyślny minimalny interwał pobierania dla Zdalnej konfiguracji wynosi 12 godzin, co oznacza, że ​​konfiguracje nie będą pobierane z zaplecza częściej niż raz w ciągu 12 godzin, niezależnie od liczby faktycznie wykonanych wywołań pobierania.

Jeśli podczas tworzenia aplikacji nie korzystasz ze zdalnej konfiguracji w czasie rzeczywistym (co zalecamy), możesz chcieć pobierać i aktywować konfiguracje bardzo często (wiele razy na godzinę), aby móc szybko wykonywać iteracje podczas opracowywania i testowania aplikacji. Aby umożliwić szybką iterację projektu z udziałem maksymalnie 10 programistów, możesz tymczasowo ustawić niski minimalny interwał pobierania za pomocą setConfigSettings() .

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(minutes: 5),
));

Następne kroki

Jeśli jeszcze tego nie zrobiłeś, zbadaj zdalne przypadki użycia konfiguracji i spójrz na niektóre z kluczowych koncepcji i zaawansowanych dokumentacji strategii, w tym: