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.
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ą.
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 metodaonUpdate
nie zostanie wywołana.
Dodawaj i usuwaj słuchaczy
addOnConfigUpdateListener
to 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.
Następne kroki
Sprawdź opcję Rozpocznij pracę z Firebase Remote Config, aby skonfigurować zdalną konfigurację i rozpocząć nasłuchiwanie aktualizacji w czasie rzeczywistym .