Catch up on highlights from Firebase at Google I/O 2023. Learn more

Zacznij korzystać ze zdalnej konfiguracji Firebase


Możesz użyć Firebase Remote Config do definiowania parametrów w swojej aplikacji i aktualizowania ich wartości w chmurze, co pozwala modyfikować wygląd i zachowanie aplikacji bez dystrybucji aktualizacji aplikacji. Ten przewodnik przeprowadzi Cię przez kroki, aby rozpocząć i zawiera przykładowy kod.

Krok 1: Dodaj Firebase i pakiet SDK Remote Config do swojej aplikacji

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

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

  3. W katalogu głównym projektu Flutter uruchom następujące polecenie, aby zainstalować wtyczkę Remote Config:

    flutter pub add firebase_remote_config
    

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

    flutter pub add firebase_analytics
    
  4. Przebuduj swój projekt:

    flutter run
    

Krok 2: Pobierz pojedynczy obiekt Remote Config

Uzyskaj 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 Twojej aplikacji.

Podczas programowania zaleca się ustawienie stosunkowo niskiego minimalnego interwału pobierania. Zobacz Ograniczanie , aby uzyskać więcej informacji.

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

Możesz ustawić domyślne wartości parametrów w aplikacji w obiekcie Zdalna konfiguracja, aby Twoja aplikacja zachowywała się zgodnie z oczekiwaniami, zanim połączy się z zapleczem Zdalnej konfiguracji, i aby wartości domyślne były dostępne, jeśli żadne nie zostaną ustawione w zapleczu.

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 uzyskać wartości parametrów z obiektu Remote Config. Jeśli ustawisz wartości w zapleczu, pobierzesz je, a następnie aktywujesz, wartości te będą dostępne dla Twojej aplikacji. W przeciwnym razie otrzymasz wartości parametrów w aplikacji skonfigurowane za pomocą setDefaults() .

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

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

Krok 5: Ustaw wartości parametrów w zapleczu Remote Config

Korzystając z konsoli Firebase lub interfejsów API zaplecza Remote Config , możesz tworzyć nowe wartości domyślne po stronie serwera, które zastępują wartości w aplikacji zgodnie z wymaganą logiką warunkową lub kierowaniem na użytkownika. W tej sekcji opisano kroki konsoli Firebase, które należy wykonać, aby utworzyć te 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), a także możesz 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 zapleczu są pobierane i przechowywane w obiekcie Zdalna konfiguracja.

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

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

    await remoteConfig.fetchAndActivate();
    

Ponieważ te zaktualizowane wartości parametrów wpływają na zachowanie i wygląd Twojej aplikacji, należy aktywować pobrane wartości w czasie, który zapewni użytkownikowi bezproblemowe działanie, na przykład przy następnym otwarciu aplikacji przez użytkownika. Zobacz Strategie ładowania zdalnej konfiguracji, aby uzyskać więcej informacji i przykładów.

Krok 7: Słuchaj aktualizacji w czasie rzeczywistym

Po pobraniu wartości parametrów możesz użyć zdalnej konfiguracji w czasie rzeczywistym do nasłuchiwania aktualizacji z zaplecza zdalnej konfiguracji. Zdalna konfiguracja w czasie rzeczywistym wysyła do podłączonych urządzeń informacje o dostępności 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 sieci Web.

  1. W swojej aplikacji użyj onConfigUpdated , aby rozpocząć nasłuchiwanie aktualizacji i automatycznie pobierać wszelkie nowe 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 działa Twoja aplikacja i nasłuchują zmian, aktywują nową konfigurację.

Ograniczanie

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 miała wartość RemoteConfigFetchStatus.throttle .

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

Podczas tworzenia aplikacji, jeśli nie używasz zdalnej konfiguracji w czasie rzeczywistym (co zalecamy), możesz bardzo często pobierać i aktywować konfiguracje (wiele razy na godzinę), aby umożliwić szybkie iteracje podczas opracowywania i testowania aplikacji. Aby dostosować się do szybkiej iteracji projektu z maksymalnie 10 programistami, 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

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: