Informacje o Zdalnej konfiguracji w czasie rzeczywistym


W czasie rzeczywistym Remote Config możesz otrzymywać zaktualizowane klucze i wartości parametrów, gdy tylko zostaną opublikowane na serwerze. Dzięki temu możesz szybko aktualizować dowolny typ atrybutu aplikacji kontrolowany za pomocą wartości parametru Remote Config. Dzięki aktualizacjom Remote Config w czasie rzeczywistym możesz:

  • Zmniejsz ryzyko, wprowadzając funkcje stopniowo u wybranych użytkowników i w razie potrzeby wykonując awaryjne wycofanie.
  • Zwiększ zaangażowanie użytkowników, szybko dostosowując ich wrażenia podczas korzystania z aplikacji. Możesz na przykład aktualizować banery i oferować zachęty użytkownikom, którzy spełniają określone Google Analyticskryteria, 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 programistów i testerów, a ukrywaj je przed użytkownikami w wersji produkcyjnej.

Więcej informacji o możliwościach wykorzystania Remote Config znajdziesz w artykule Jak korzystać z Remote Config?

Z tego przewodnika dowiesz się, jak:

  • Dowiedz się więcej o relacji klient–serwer, która obsługuje aktualizacje w czasie rzeczywistym.
  • Dowiedz się, jak działa funkcja w czasie rzeczywistym w pakiecie SDK.
  • Dowiedz się, jak korzystać z aktualizacji w czasie rzeczywistym, aby mieć aktualną konfigurację aplikacji.

Połączenie klienta z serwerem w czasie rzeczywistym

Gdy w aplikacji wdrożesz funkcję Remote Config w czasie rzeczywistym, tworzysz odbiorcę w czasie rzeczywistym, który otwiera połączenie HTTP z backendem Remote Config. Żądanie zawiera wersję konfiguracji, która jest obecnie przechowywana w pamięci podręcznej na urządzeniu. Serwer Remote Config w czasie rzeczywistym używa wiadomości unieważnienia, aby poinformować aplikację, ż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, utrzymuje połączenie otwarte i czeka, aż zostanie ono opublikowane na serwerze. Gdy klient SDK otrzyma sygnał unieważnienia, automatycznie go pobiera, a następnie wywołuje funkcję wywołania zwrotnego listenera zarejestrowaną podczas otwierania połączenia listenera. Ta metoda pobierania jest podobna do wywołania fetch, które można wykonać za pomocą pakietu SDK, ale pomija wszelkie ustawienia buforowania i minimumFetchInterval. Połączenie klienta z serwerem jest utrzymywane, gdy aplikacja działa na pierwszym planie.

Przepływ danych klient-serwer w ramach Zdalnej konfiguracji w czasie rzeczywistym
Przetwarzanie w czasie rzeczywistym Remote Config na kliencie i serwerze

Ponieważ połączenie klient-serwer jest realizowane przez HTTP, nie wymaga żadnych zależności od innych bibliotek.

Słuchaj aktualizacji

Aktualizacje w czasie rzeczywistym uzupełniają wywołania Remote Config fetch. Zalecamy wywołanie funkcji pobierania podczas uruchamiania aplikacji (lub w jakimś momencie w trakcie jej cyklu życia) oraz słuchanie w czasie sesji użytkownika aktualizacji funkcji Remote Config w czasie rzeczywistym, aby mieć najnowsze wartości, gdy tylko zostaną opublikowane na serwerze.

Aby sprawdzać dostępność aktualizacji, wywołaj funkcję addOnConfigUpdateListener, implementując funkcję wywołania zwrotnego, która jest wywoływana, gdy w aplikacji jest dostępna aktualizacja Remote Config. W tle ta funkcja zaczyna sprawdzać dostępność aktualizacji z serwera Remote Config. Więcej informacji o relacji klient–serwer znajdziesz w poprzedniej sekcji.

Funkcja wywołania zwrotnego jest często odpowiednim miejscem do użycia funkcji activate, aby udostępnić zaktualizowane parametry konfiguracji aplikacji. Więcej informacji o dodatkowych strategiach aktywowania wartości parametrów podczas korzystania z funkcji Remote Config w czasie rzeczywistym znajdziesz w artykule Strategie ładowania Remote Config w Firebase.

Selektywne aktywowanie wartości parametrów

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

Funkcja onUpdate jest wywoływana, gdy automatycznie pobierana jest nowa wersja szablonu i w tej nowej wersji występują zmiany w wartościach obecnie aktywnych parametrów w aplikacji.

Te funkcje wywołuje się za pomocą parametru configUpdate. configUpdate zawiera updatedKeys, , co jest zbiorem zmienionych kluczy parametrów, które zapoczątkowały aktualizację w czasie rzeczywistym, i zawiera:

  • dodanie lub usunięcie kluczy parametrów.
  • klucze parametrów, których wartości uległy zmianie;
  • klucze parametrów, których metadane uległy zmianie (np. Remote Configinformacje o personalizacji);
  • Klucze parametrów, których źródło wartości uległo zmianie (np. domyślna wartość w aplikacji została zastąpiona wartością po stronie serwera).

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

Czasami pobranie (inicjowane przez wywołanie metody fetch lub przez Remote Config w czasie rzeczywistym) nie powoduje aktualizacji klienta. W takich przypadkach metody onUpdate metody ani completion nie zostaną wywołane.

Dodawanie i usuwanie słuchaczy

addOnConfigUpdateListener to główny punkt wejścia do Remote Config 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, multipleksując wiadomość o unieważnieniu opisaną w połączeniu klienta z serwerem w czasie rzeczywistym.

Wywołanie zwraca „rejestrację słuchacza”, która ma metodę remove.

Aby przestać słuchać, zapisz odwołanie do rejestracji słuchacza. Aby przestać słuchać, zadzwoń na numer remove, aby zatrzymać nagrywanie. Jeśli jest to jedyny zarejestrowany odbiorca, wywołanie remove powoduje zamknięcie połączenia w czasie rzeczywistym z serwerem.

Chociaż możesz ręcznie zatrzymać słuchanie aktualizacji, często nie jest to konieczne. W czasie rzeczywistym Remote Config automatycznie przestaje nasłuchiwać aktualizacji, gdy aplikacja przejdzie do trybu w tle, i ponownie uruchamia się, gdy aplikacja wróci do pierwszego planu.

Dalsze kroki

Zapoznaj się z artykułem Rozpoczynanie korzystania z Firebase Remote Config, aby skonfigurować Remote Config i rozpocząć odbieranie aktualizacji w czasie rzeczywistym.