Zdalna konfiguracja w czasie rzeczywistym


Zdalna konfiguracja w czasie rzeczywistym umożliwia otrzymywanie zaktualizowanych kluczy i wartości parametrów od razu po ich opublikowaniu na serwerze. Dzięki temu możesz szybko aktualizować dowolne atrybuty aplikacji sterowane za pomocą wartości parametrów Zdalnej konfiguracji. Dzięki aktualizacjom Zdalnej konfiguracji w czasie rzeczywistym możesz:

  • Zmniejsz ryzyko, stopniowo wdrażając funkcje na wybranych użytkownikach i w razie potrzeby wykonując przywrócenie awaryjne.
  • Zwiększ zaangażowanie użytkowników, szybko dostosowując ich wrażenia podczas korzystania z aplikacji. Możesz np. aktualizować banery i oferować zachęty dla użytkowników, którzy pasują do określonych właściwości użytkownika Google Analytics, lub dynamicznie dostosowywać poziom trudności gry do kohorty graczy.
  • Ogranicz zależności kompilacji i zwiększ produktywność programistów: używaj parametrów Zdalnej konfiguracji jako flag funkcji, aby udostępniać funkcje zespołom programistów i testujących, jednocześnie pozostawiając je ukryte przed użytkownikami w środowisku produkcyjnym.

Więcej informacji o możliwościach korzystania z Zdalnej konfiguracji znajdziesz w artykule Co można zrobić przy użyciu 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łają funkcje działające w czasie rzeczywistym w pakiecie SDK.
  • Dowiedz się, jak korzystać z aktualizacji w czasie rzeczywistym, aby aktualizować konfigurację aplikacji.

Połączenie klient-serwer w czasie rzeczywistym

Wdrażając Zdalną konfigurację w czasie rzeczywistym, tworzysz detektor w czasie rzeczywistym, który otwiera połączenie HTTP z backendem Zdalnej konfiguracji. Żądanie zawiera wersję konfiguracji, która jest obecnie przechowywana w pamięci podręcznej urządzenia. Serwer Zdalnej konfiguracji w czasie rzeczywistym używa komunikatu o unieważnieniu, aby zasygnalizować aplikacji, że 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, połączenie pozostaje otwarte i czeka, aż dana wersja zostanie opublikowana na serwerze. Gdy pakiet SDK klienta otrzyma sygnał unieważnienia, automatycznie go pobierze, a potem wywoła wywołanie zwrotne detektora zarejestrowane po otwarciu połączenia z detektorem. Pobieranie jest podobne do pobierania, które można wykonać za pomocą pakietu SDK, ale pomija wszelkie ustawienia buforowania i minimumFetchInterval. Połączenie klient-serwer utrzymuje się, gdy aplikacja działa na pierwszym planie.

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

Połączenie klient-serwer odbywa się przez HTTP, więc nie wymaga żadnych zależności od innych bibliotek.

Wykrywaj aktualizacje

Aktualizacje w czasie rzeczywistym uzupełniają wywołania Zdalnej konfiguracji fetch. Zalecamy wywoływanie pobierania w momencie uruchomienia aplikacji (lub w trakcie jej cyklu życia) i nasłuchiwanie aktualizacji Zdalnej konfiguracji w czasie rzeczywistym podczas sesji użytkownika. Dzięki temu natychmiast masz dostęp do najnowszych wartości, gdy tylko zostaną one opublikowane na serwerze.

Aby nasłuchiwać aktualizacji, wywołaj: addOnConfigUpdateListener, wdróż wywołanie zwrotne wywoływane za każdym razem, gdy aktualizacja Zdalnej konfiguracji rozpocznie się w aplikacji. Więcej informacji o relacji klient-serwer znajdziesz w poprzedniej sekcji.

Wywołanie zwrotne to często dobre miejsce do użycia funkcji activate, by udostępnić zaktualizowane parametry konfiguracji w swojej aplikacji. Dodatkowe strategie aktywowania wartości parametrów, gdy używasz Zdalnej konfiguracji w czasie rzeczywistym, znajdziesz w artykule Strategie wczytywania Zdalnej konfiguracji Firebase.

Selektywne aktywowanie wartości parametrów

Gdy zadzwonisz: addOnConfigUpdateListener, możesz poczekać na zmianę i ją aktywować.

Wywołanie zwrotne onUpdate po automatycznym pobraniu nowej wersji szablonu oraz gdy nowa wersja ma zmienione wartości parametrów aktualnie aktywowane w aplikacji.

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

  • Dodane lub usunięte klucze parametrów
  • Klucze parametrów, których wartości uległy zmianie
  • klucze parametrów, których metadane uległy zmianie (np. informacje dotyczące personalizacji Zdalnej konfiguracji).
  • klucze parametrów, których źródło wartości uległo zmianie (np. domyślna wartość w aplikacji zmieniona na wartość po stronie serwera).

Jeśli w konkretnym widoku aplikacji używasz detektora w czasie rzeczywistym, przed aktywacją możesz sprawdzić, czy parametry powiązane z tym widokiem uległy zmianie.

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

Dodawanie i usuwanie detektorów

addOnConfigUpdateListener to główny punkt wejścia Zdalnej konfiguracji w czasie rzeczywistym. Wywołanie tego detektora po raz pierwszy w cyklu życia aplikacji otwiera połączenie z backendem. Kolejne wywołania korzystają z tego samego połączenia, co powoduje zwielokrotnienie komunikatu o unieważnieniu opisanego w sekcji połączenie klient-serwer w czasie rzeczywistym.

Wywołanie zwraca „rejestrację detektora”, która używa metody remove

Aby przestać nasłuchiwać, zapisz odwołanie do rejestracji detektora. Zadzwoń pod numer remove, aby przestać nasłuchiwać przy tej rejestracji. Jeśli jest to jedyny zarejestrowany użytkownik, wywołanie funkcji remove zamyka połączenie z serwerem w czasie rzeczywistym.

Możesz ręcznie przestać nasłuchiwać aktualizacji, ale często nie jest to konieczne. Zdalna konfiguracja w czasie rzeczywistym przestaje nasłuchiwać aktualizacji, gdy aplikacja działa w tle, i uruchamia się ponownie, gdy działa na pierwszym planie.

Dalsze kroki

Zapoznaj się z informacjami o pierwszych krokach ze Zdalną konfiguracją Firebase, które pozwolą Ci skonfigurować Zdalną konfigurację i zacząć nasłuchiwać aktualizacji w czasie rzeczywistym.