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](https://firebase.google.com/static/docs/remote-config/images/real-time-client-server.png?authuser=5&hl=pl)
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ć.
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.
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.