Poznaj zdalną konfigurację w czasie rzeczywistym


Zdalna konfiguracja w czasie rzeczywistym umożliwia otrzymywanie zaktualizowanych kluczy i wartości parametrów , gdy tylko zostaną one opublikowane na serwerze. Pozwala to na szybką aktualizację dowolnego typu atrybutu aplikacji kontrolowanego za pomocą wartości parametru Zdalnej konfiguracji. Dzięki aktualizacjom zdalnej konfiguracji w czasie rzeczywistym możesz:

  • Zmniejsz ryzyko, stopniowo udostępniając funkcje docelowym użytkownikom i w razie potrzeby wycofując je w sytuacjach awaryjnych.
  • 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ć poziom trudności gry dla kohort graczy.
  • Zmniejsz zależności kompilacji i zwiększ produktywność programistów: używaj parametrów zdalnej konfiguracji jako flag funkcji, aby udostępniać funkcje swoim zespołom programistycznym i testowym, jednocześnie ukrywając je przed użytkownikami w środowisku produkcyjnym.

Aby dowiedzieć się więcej o sposobach korzystania ze Zdalnej konfiguracji, zobacz Co możesz 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 zapewnić aktualność konfiguracji aplikacji.

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 obecnie przechowywana w pamięci podręcznej na urządzeniu. Serwer zdalnej konfiguracji 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 ma nowszą wersję, natychmiast wysyła sygnał unieważnienia. Jeśli nie ma nowszej wersji, utrzymuje otwarte połączenie i czeka, aż zostanie opublikowana na serwerze. Gdy zestaw SDK klienta odbiera sygnał unieważnienia, automatycznie go pobiera, a następnie wywołuje 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ą zestawu SDK, ale pomija buforowanie lub ustawienie minimumFetchInterval . Połączenie klient-serwer jest utrzymywane, gdy aplikacja działa na pierwszym planie.

Zdalna konfiguracja klient-serwer w czasie rzeczywistym

Ponieważ połączenie klient-serwer odbywa się za pośrednictwem protokołu HTTP, nie wymaga ż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 trakcie jej cyklu życia) i nasłuchiwanie aktualizacji zdalnej konfiguracji w czasie rzeczywistym podczas sesji użytkownika, aby upewnić się, że masz najnowsze wartości, gdy tylko zostaną one opublikowane na serwerze.

Aby nasłuchiwać aktualizacji, wywołajaddOnConfigUpdateListener ,implementując wywołanie zwrotne, które jest wywoływane za każdym razem, gdy aktualizacja zdalnej konfiguracji jest dostępny w aplikacji . W tle to wywołanie rozpoczyna nasłuchiwanie aktualizacji z serwera zdalnej konfiguracji. 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 zaktualizowanych parametrów konfiguracji aplikacji. Zobacz Strategie ładowania zdalnej konfiguracji Firebase, aby uzyskać dodatkowe strategie aktywacji wartości parametrów podczas korzystania ze zdalnej konfiguracji w czasie rzeczywistym.

Selektywnie aktywuj wartości parametrów

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

Wywołanie zwrotne onUpdate jest wywoływane, gdy zarówno nowa wersja szablonu została automatycznie pobrana, jak i 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:

  • 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 domyślna wartość w aplikacji została zaktualizowana do wartości po stronie serwera)

Jeśli używasz odbiornika działającego w czasie rzeczywistym w określonym widoku w swojej aplikacji, możesz przed aktywacją sprawdzić, czy parametry związane z tym widokiem uległy zmianie.

Czasami pobieranie (inicjowane podczas wywoływania metody fetch lub przez Zdalną konfigurację w czasie rzeczywistym) nie skutkuje aktualizacją klienta. W takich przypadkach nie zostanie wywołana metodaonUpdate.

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 zapleczem. 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 zatrzymać słuchanie, zapisz odniesienie do rejestracji słuchacza. remove , aby przestać słuchać przy tej rejestracji. Jeśli jest to jedyny zarejestrowany odbiornik, wywołanie funkcji 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 przechodzi w tło i uruchamia się ponownie, gdy aplikacja jest na pierwszym planie.

Następne kroki

Zapoznaj się z artykułem Pierwsze kroki ze zdalną konfiguracją Firebase, aby skonfigurować zdalną konfigurację i zacząć nasłuchiwać aktualizacji w czasie rzeczywistym .