Informacje o Zdalnej konfiguracji w czasie rzeczywistym

Wybierz platformę: iOS+ Android Web Flutter Unity C++

Zdalna konfiguracja w czasie rzeczywistym Remote Config umożliwia otrzymywanie zaktualizowanych kluczy i wartości parametrów natychmiast po ich opublikowaniu na serwerze. Dzięki temu możesz szybko aktualizować dowolny typ atrybutu aplikacji kontrolowany za pomocą wartości parametru Remote Config. Dzięki aktualizacjom Remote Config w czasie rzeczywistym możesz:

  • zmniejszyć ryzyko, wdrażając funkcje stopniowo dla wybranych użytkowników i w razie potrzeby przeprowadzając awaryjne wycofanie zmian;
  • zwiększyć zaangażowanie użytkowników, szybko dostosowując ich wrażenia podczas korzystania z aplikacji. Możesz na przykład aktualizować banery i oferować zachęty dla użytkowników, którzy pasują do określonych Google Analytics właściwości użytkownika lub dynamicznie dostosowywać poziom trudności gry dla kohort graczy;
  • zmniejszyć zależności kompilacji i zwiększyć produktywność deweloperów: używaj Remote Config parametrów jako flag funkcji, aby udostępniać funkcje zespołom deweloperów i testerów, a jednocześnie ukrywać je przed użytkownikami w środowisku produkcyjnym.

Więcej informacji o sposobach korzystania z Remote Config znajdziesz w artykule Co można zrobić za pomocą Remote Config?

Z tego przewodnika dowiesz się:

  • więcej o relacji klient-serwer, która obsługuje aktualizacje w czasie rzeczywistym;
  • jak działa funkcja w czasie rzeczywistym w pakiecie SDK;
  • jak korzystać z aktualizacji w czasie rzeczywistym, aby aktualizować konfigurację aplikacji.

Połączenie klient-serwer w czasie rzeczywistym

Gdy zaimplementujesz w aplikacji Remote Config w czasie rzeczywistym, utworzysz odbiornik w czasie rzeczywistym, który otworzy połączenie HTTP z backendem Remote Config. Żądanie zawiera wersję konfiguracji, która jest zapisana w pamięci podręcznej na urządzeniu. Serwer Remote Config w czasie rzeczywistym używa wiadomości o unieważnieniu, aby poinformować aplikację, kiedy należy pobrać nowszą wersję konfiguracji po stronie serwera.

Jeśli serwer ma nowszą wersję, natychmiast wysyła sygnał unieważnienia. Jeśli nie ma nowszej wersji, utrzymuje połączenie i czeka, aż zostanie opublikowana na serwerze. Gdy pakiet SDK klienta otrzyma sygnał unieważnienia, automatycznie go pobierze, a następnie wywoła wywołanie zwrotne odbiornika zarejestrowane podczas otwierania połączenia odbiornika. To pobieranie jest podobne do wywołania pobierania, które można wykonać za pomocą pakietu SDK, ale pomija buforowanie i ustawienie minimumFetchInterval. Połączenie klient-serwer jest utrzymywane, gdy aplikacja działa na pierwszym planie.

Przepływ pracy w czasie rzeczywistym w Zdalnej konfiguracji w modelu klient-serwer
Przepływ pracy klient-serwer Remote Config w czasie rzeczywistym

Ponieważ połączenie klient-serwer jest nawiązywane przez HTTP, nie wymaga żadnych zależności od innych bibliotek.

Nasłuchiwanie aktualizacji

Aktualizacje w czasie rzeczywistym uzupełniają Remote Config fetch wywołania. Zalecamy wywoływanie funkcji pobierania podczas uruchamiania aplikacji (lub w dowolnym momencie jej cyklu życia) oraz nasłuchiwanie aktualizacji Remote Config w czasie rzeczywistym podczas sesji użytkownika, aby mieć pewność, że masz najnowsze wartości natychmiast po ich opublikowaniu na serwerze.

Aby nasłuchiwać aktualizacji, wywołaj addOnConfigUpdateListener, implementując wywołanie zwrotne, które jest wywoływane, gdy w aplikacji jest dostępna aktualizacja Remote Config. Za kulisami to wywołanie zaczyna nasłuchiwać aktualizacji z serwera Remote Config. Więcej informacji o relacji klient-serwer znajdziesz w poprzedniej sekcji.

Wywołanie zwrotne jest często dobrym miejscem do użycia funkcji activate, aby udostępnić zaktualizowane parametry konfiguracji aplikacji. Więcej strategii aktywowania wartości parametrów podczas korzystania ze Zdalnej konfiguracji w czasie rzeczywistym znajdziesz w artykule Firebase Remote Config Loading Strategies for additional strategies to activate parameter values when you're using real-time Remote Config.

Selektywne aktywowanie wartości parametrów

Gdy wywołasz addOnConfigUpdateListener, możesz poczekać na zmianę i ją aktywować.

Wywołanie zwrotne onUpdate jest wywoływane, gdy automatycznie pobierana jest nowa wersja szablonu i gdy ta nowa wersja zawiera zmiany w aktywnych wartościach parametrów w aplikacji.

Te wywołania zwrotne są wywoływane z parametrem configUpdate. configUpdate zawiera updatedKeys, czyli zbiór zmienionych kluczy parametrów, które zainicjowały aktualizację w czasie rzeczywistym, i obejmuje:

  • klucze parametrów, które zostały dodane lub usunięte;
  • klucze parametrów, których wartości uległy zmianie;
  • klucze parametrów, których metadane uległy zmianie (np. Remote Config informacje o personalizacji);
  • klucze parametrów, których źródło wartości uległo zmianie (np. domyślna wartość w aplikacji aktualizowana do wartości po stronie serwera).

Jeśli używasz odbiornika w czasie rzeczywistym w określonym widoku w aplikacji, przed aktywacją możesz sprawdzić, czy parametry istotne dla tego widoku uległy zmianie.

Czasami pobieranie (inicjowane przez wywołanie metody fetch lub przez Zdalną konfigurację w czasie rzeczywistym Remote Config) nie powoduje aktualizacji klienta. W takich przypadkach metoda onUpdate lub zakończenie nie zostaną wywołane.

Dodawanie i usuwanie odbiorników

addOnConfigUpdateListener to główny punkt wejścia do Remote Config w czasie rzeczywistym. Pierwsze wywołanie tego odbiornika w cyklu życia aplikacji otwiera połączenie z backendem. Kolejne wywołania używają tego samego połączenia, multipleksując wiadomość o unieważnieniu opisaną w sekcji Połączenie klient-serwer w czasie rzeczywistym.

Wywołanie zwraca "rejestrację odbiornika", która ma metodę o nazwie remove. Aby przestać nasłuchiwać, zapisz odniesienie do rejestracji odbiornika. Aby przestać nasłuchiwać w tej rejestracji, wywołaj remove. Jeśli jest to jedyny zarejestrowany odbiornik, wywołanie remove zamyka połączenie w czasie rzeczywistym z serwerem.

Chociaż możesz ręcznie zatrzymać nasłuchiwanie aktualizacji, często nie jest to konieczne. Zdalna konfiguracja w czasie rzeczywistym Remote Config automatycznie przestaje nasłuchiwać aktualizacji , gdy aplikacja przechodzi w tle, i wznawia nasłuchiwanie, gdy aplikacja przechodzi na pierwszy plan.

Dalsze kroki

Aby skonfigurować Remote Config i rozpocząć nasłuchiwanie aktualizacji w czasie rzeczywistym, zapoznaj się z artykułem Pierwsze kroki z Firebase Remote Config.