Poznaj zdalną konfigurację w czasie rzeczywistym


Zdalna konfiguracja w czasie rzeczywistym umożliwia otrzymywanie zaktualizowanych kluczy i wartości parametrów zaraz po ich opublikowaniu na serwerze. Umożliwia to szybką aktualizację dowolnego typu atrybutu aplikacji kontrolowanego za pomocą wartości parametru Remote Config. Dzięki aktualizacjom zdalnej konfiguracji w czasie rzeczywistym możesz:

  • Zmniejsz ryzyko, wdrażając funkcje stopniowo dla docelowych użytkowników i w razie potrzeby przeprowadzając awaryjne wycofywanie.
  • Zwiększ zaangażowanie użytkowników, szybko dostosowując doświadczenia użytkowników podczas korzystania z aplikacji. Możesz na przykład aktualizować banery i oferować zachęty użytkownikom, którzy pasują do określonych właściwości użytkownika Google Analytics, lub dynamicznie dostosowywać trudność gry do kohort graczy.
  • Zmniejsz zależności kompilacji i zwiększ produktywność programistów: użyj parametrów zdalnej konfiguracji jako flag funkcji, aby udostępnić funkcjonalność swoim zespołom programistycznym i testowym, jednocześnie ukrywając ją przed użytkownikami w środowisku produkcyjnym.

Aby dowiedzieć się więcej o sposobach korzystania ze zdalnej konfiguracji, zobacz Co można zrobić za pomocą Zdalnej konfiguracji?

W tym przewodniku:

  • Dowiedz się więcej o relacji klient-serwer, która obsługuje aktualizacje w czasie rzeczywistym.
  • Dowiedz się, jak działa funkcja czasu rzeczywistego w pakiecie SDK.
  • Dowiedz się, jak korzystać z aktualizacji w czasie rzeczywistym, aby konfiguracja aplikacji była zawsze aktualna.

Połączenie klient-serwer w czasie rzeczywistym

Implementując zdalną konfigurację w czasie rzeczywistym w swojej aplikacji, tworzysz odbiornik działający w czasie rzeczywistym, który otwiera połączenie HTTP z zapleczem zdalnej konfiguracji. Żądanie zawiera wersję konfiguracji, która jest aktualnie przechowywana w pamięci podręcznej na urządzeniu. Serwer zdalnej konfiguracji działający w czasie rzeczywistym używa komunikatu o unieważnieniu , aby zasygnalizować aplikacji, kiedy powinna zostać pobrana nowsza wersja konfiguracji po stronie serwera.

Jeśli serwer posiada nowszą wersję, natychmiast wysyła sygnał unieważnienia. Jeśli nie ma nowszej wersji, utrzymuje połączenie otwarte i czeka, aż zostanie ono opublikowane na serwerze. Gdy zestaw SDK klienta odbierze sygnał unieważnienia, automatycznie go pobierze, a następnie wywoła wywołanie zwrotne nasłuchiwania zarejestrowane w momencie otwarcia połączenia nasłuchiwania. To pobieranie jest podobne do wywołania pobierania, które można wykonać za pomocą pakietu SDK, ale pomija wszelkie ustawienia buforowania lub minimumFetchInterval . Połączenie klient-serwer jest utrzymywane, gdy aplikacja znajduje się na pierwszym planie.

Przepływ pracy klient-serwer podczas zdalnej konfiguracji w czasie rzeczywistym

Ponieważ połączenie klient-serwer odbywa się za pośrednictwem protokołu HTTP, nie wymaga ono żadnych zależności od innych bibliotek.

Słuchaj aktualizacji

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

Aby nasłuchiwać aktualizacji, wywołajaddOnConfigUpdateListener ,implementujący wywołanie zwrotne, które jest wywoływane ked, gdy w aplikacji dostępna jest aktualizacja zdalnej konfiguracji . W tle to połączenie rozpoczyna nasłuchiwanie aktualizacji z serwera Remote Config. Aby dowiedzieć się więcej o relacji klient-serwer, zobacz poprzednią sekcję .

Wywołanie zwrotne jest często dobrym miejscem do użycia activate w celu udostępnienia aplikacji zaktualizowanych parametrów konfiguracyjnych. Zobacz Strategie ładowania zdalnej konfiguracji Firebase, aby poznać dodatkowe strategie aktywowania wartości parametrów podczas korzystania ze zdalnej konfiguracji w czasie rzeczywistym.

Selektywnie aktywuj wartości parametrów

Kiedy wywołaszaddOnConfigUpdateListener ,możesz poczekać na zmianę i aktywować ją.

Wywołanie zwrotne onUpdate jest wywoływane, gdy zarówno nowa wersja szablonu została automatycznie pobrana, jak i wtedy, gdy ta nowa wersja zawiera zmiany aktualnie aktywowanych wartości parametrów w aplikacji.

Te wywołania zwrotne są wywoływane z parametrem configUpdate . configUpdate zawieraupdatedKeys ,, który jest zestawem zmienionych kluczy parametrów, które zainicjowały aktualizację w czasie rzeczywistym i zawiera następujące elementy:

  • Dodano lub usunięto klucze parametrów
  • Klucze parametrów, których wartości uległy zmianie
  • Klucze parametrów, których metadane uległy zmianie (na przykład informacje o personalizacji Remote Config)
  • Klucze parametrów, których źródło wartości uległo zmianie (na przykład wartość domyślna w aplikacji została zaktualizowana do wartości po stronie serwera)

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

Czasami pobieranie (inicjowane w momencie wywołania metody fetch lub w wyniku zdalnej konfiguracji w czasie rzeczywistym) nie powoduje aktualizacji klienta. W takich przypadkach metodaonUpdatenie zostanie wywołana.

Dodawaj i usuwaj słuchaczy

addOnConfigUpdateListenerto główny punkt wejścia do zdalnej konfiguracji w czasie rzeczywistym. Wywołanie tego odbiornika po raz pierwszy w cyklu życia aplikacji otwiera połączenie z backendem. Kolejne wywołania ponownie wykorzystują to samo połączenie, multipleksując komunikat o unieważnieniu opisany w połączeniu klient-serwer w czasie rzeczywistym .

Wywołanie zwraca „rejestrację słuchacza”, która ma metodę o nazwieremove .

Aby zakończyć słuchanie, zapisz odniesienie do rejestracji słuchacza. Zadzwoń remove , aby przestać słuchać tej rejestracji. Jeśli jest to jedyny zarejestrowany słuchacz, wywołanie metody 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 automatycznie przestaje nasłuchiwać aktualizacji, gdy aplikacja przejdzie w tło i uruchamia się ponownie, gdy aplikacja znajdzie się na pierwszym planie.

Następne kroki

Sprawdź opcję Rozpocznij pracę z Firebase Remote Config, aby skonfigurować zdalną konfigurację i rozpocząć nasłuchiwanie aktualizacji w czasie rzeczywistym .