Informacje o Zdalnej konfiguracji w czasie rzeczywistym

Wybierz platformę: iOS+ Android Web Flutter Unity C++

W przypadku Remote Configw czasie rzeczywistym możesz otrzymywać zaktualizowane klucze i  wartości parametrów natychmiast po ich opublikowaniu na serwerze. Umożliwia to szybkie aktualizowanie dowolnego typu atrybutu aplikacji kontrolowanego za pomocą Remote Config wartości parametru. Dzięki aktualizacjom w czasie rzeczywistym Remote Config możesz:

  • Zmniejsz ryzyko, wdrażając funkcje stopniowo dla wybranych użytkowników i w razie potrzeby przeprowadzając przywrócenie awaryjne.
  • Zwiększaj zaangażowanie użytkowników, szybko dostosowując ich wrażenia podczas korzystania z aplikacji. Możesz np. aktualizować banery i oferować zachęty użytkownikom, którzy spełniają określone Google Analytics właściwości użytkownika, lub dynamicznie dostosowywać poziom trudności gry do grup graczy.
  • Zmniejsz zależności kompilacji i zwiększ produktywność programistów: używaj parametrów Remote Config jako flag funkcji, aby udostępniać funkcje zespołom ds. programowania i testowania, a jednocześnie ukrywać je przed użytkownikami w środowisku produkcyjnym.

Aby dowiedzieć się więcej o sposobach korzystania z Remote Config, przeczytaj artykuł Co możesz zrobić za pomocą Remote Config?

Z tego przewodnika dowiesz się:

  • 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 aktualizować konfigurację aplikacji.

Połączenie klient-serwer w czasie rzeczywistym

Gdy zaimplementujesz w aplikacji Remote Config w czasie rzeczywistym, utworzysz odbiornik w czasie rzeczywistym, który otworzy połączenie HTTP z backendem Remote Config. Żądanie zawiera wersję konfiguracji, która jest zapisana w pamięci podręcznej na urządzeniu. Serwer Remote Config w czasie rzeczywistym używa wiadomości o unieważnieniu, aby powiadomić aplikację, kiedy 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 oczekuje na opublikowanie nowej wersji na serwerze. Gdy pakiet SDK klienta otrzyma sygnał unieważnienia, automatycznie go pobierze, a następnie wywoła funkcję zwrotną odbiornika zarejestrowaną podczas otwierania połączenia odbiornika. To pobieranie jest podobne do wywołania pobierania, które możesz wykonać za pomocą pakietu SDK, ale pomija wszelkie ustawienia buforowania lub minimumFetchInterval. Połączenie klient-serwer jest utrzymywane, gdy aplikacja działa na pierwszym planie.

Przepływ pracy w czasie rzeczywistym w Zdalnej konfiguracji (klient-serwer)
Przepływ pracy w czasie rzeczywistym Remote Config klient-serwer

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

Odsłuchaj aktualizacje

Aktualizacje w czasie rzeczywistym uzupełniają połączenia Remote Config fetch. Zalecamy wywoływanie funkcji pobierania po uruchomieniu aplikacji (lub w trakcie jej działania) i nasłuchiwanie aktualizacji w czasie rzeczywistym Remote Config podczas sesji użytkownika, aby mieć pewność, że masz najnowsze wartości od razu po ich opublikowaniu na serwerze.

Aby nasłuchiwać aktualizacji, wywołaj funkcję onConfigUpdate, implementując wywołanie zwrotne, które jest wywoływane, gdy w aplikacji jest dostępna aktualizacja Remote Config. Za kulisami to wywołanie rozpoczyna nasłuchiwanie aktualizacji z serwera Remote Config. Więcej informacji o relacji klient-serwer znajdziesz w poprzedniej sekcji.

Funkcja zwrotna jest często dobrym miejscem do użycia activate, aby udostępnić zaktualizowane parametry konfiguracji aplikacji. Więcej strategii aktywowania wartości parametrów podczas korzystania z Remote Config w czasie rzeczywistym znajdziesz w artykule Strategie wczytywania Remote Config Firebase.

Selektywne aktywowanie wartości parametrów

Gdy zadzwonisz pod numer onConfigUpdate, możesz poczekać na zmianę i ją aktywować.

Wywołanie zwrotne next jest wywoływane, gdy nowa wersja szablonu zostanie automatycznie pobrana i gdy ta nowa wersja zawiera zmiany w wartościach aktywnych parametrów w aplikacji.

Te wywołania zwrotne są wywoływane z parametrem configUpdate. configUpdate zawiera updated_keys, czyli zestaw kluczy zmienionych 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. Remote Config informacje o personalizacji)
  • Klucze parametrów, których źródło wartości uległo zmianie (np. domyślna wartość w aplikacji została zaktualizowana do wartości po stronie serwera).

Jeśli w określonym widoku w aplikacji używasz odbiornika w czasie rzeczywistym, przed aktywacją możesz sprawdzić, czy parametry istotne dla tego widoku uległy zmianie.

Czasami pobieranie (inicjowane przez wywołanie metody fetch lub w czasie rzeczywistym Remote Config) nie powoduje aktualizacji klienta. W takich przypadkach metoda next nie zostanie wywołana ani nie zostanie zakończona.

Dodawanie i usuwanie słuchaczy

onConfigUpdate to główny punkt wejścia dla Remote Config w czasie rzeczywistym. Pierwsze wywołanie tego detektora 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 sekcji połączenie klienta z serwerem w czasie rzeczywistym.

Wywołanie zwraca „rejestrację odbiorcy”, która ma metodę o nazwie Unsubscribe. Aby przestać nasłuchiwać aktualizacje, wywołaj funkcję Unsubscribe, która została zwrócona podczas początkowej rejestracji obserwatora. Jeśli jest to jedyny aktywny detektor, wywołanie Unsubscribe zamknie połączenie w czasie rzeczywistym z serwerem.

Chociaż możesz ręcznie zatrzymać nasłuchiwanie aktualizacji, często nie jest to konieczne. Aktualizacje w czasie rzeczywistym Remote Config automatycznie przestają nasłuchiwać aktualizacje, gdy aplikacja przechodzi w tło, i wznawiają nasłuchiwanie, gdy aplikacja jest na pierwszym planie.

Dalsze kroki

Aby skonfigurować Remote Config i rozpocząć nasłuchiwanie aktualizacji w  czasie rzeczywistym, zapoznaj się z artykułem Pierwsze kroki z Firebase Remote Config.