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 pakiet 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ą fetch pobierania 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 za każdym razem, 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

When you calladdOnConfigUpdateListener ,you can await the change and activate it.

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 w aktualnie aktywowanych wartościach 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 .