Informacje o Zdalnej konfiguracji w czasie rzeczywistym


Synchronizacja w czasie rzeczywistym Remote Config umożliwia otrzymywanie zaktualizowanych kluczy i wartości parametrów natychmiast po ich opublikowaniu na serwerze. Dzięki temu możesz szybko aktualizować dowolny typ atrybutu aplikacji kontrolowany za pomocą wartości parametru Remote Config. Dzięki aktualizacjom w czasie rzeczywistym Remote Config możesz:

  • Ogranicz ryzyko, wdrażając funkcje stopniowo u wybranych użytkowników i w razie potrzeby przeprowadzając awaryjne wycofanie zmian.
  • 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 Analyticswłaściwości użytkownikaGoogle Analytics, 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 wersji produkcyjnej.

Więcej informacji o sposobach korzystania z Remote Config znajdziesz w artykule Co możesz zrobić 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 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 w aplikacji zaimplementujesz 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 urządzenia. Serwer Remote Config w czasie rzeczywistym używa wiadomości o unieważnieniu, aby sygnalizować aplikacji, 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 zarejestrowane wywołanie zwrotne odbiornika, gdy otworzysz połączenie odbiornika. To pobieranie jest podobne do wywołania pobierania, które możesz wykonać za pomocą pakietu SDK, ale pomija wszelkie ustawienia pamięci podręcznej lub minimumFetchInterval. Połączenie klient-serwer jest utrzymywane, gdy aplikacja działa na pierwszym planie.

Przepływ pracy w czasie rzeczywistym w Zdalnej konfiguracji w modelu 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ą wywołania funkcji Remote Config fetch. Zalecamy wywoływanie funkcji pobierania na początku działania aplikacji (lub w trakcie jej cyklu życia) 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 addOnConfigUpdateListener, implementując wywołanie zwrotne, które jest wywoływane, gdy w aplikacji jest dostępna aktualizacja Remote Config. W tle to wywołanie zaczyna nasłuchiwać 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 Firebase Remote Config Strategie wczytywania.

Selektywne aktywowanie wartości parametrów

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

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

Te wywołania zwrotne są wywoływane z parametrem configUpdate. configUpdate zawiera updatedKeys, czyli zbiór zmienionych kluczy parametrów, które zainicjowały aktualizację w czasie rzeczywistym i obejmują:

  • 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. wartość domyślna 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 przez Remote Config) nie powoduje aktualizacji klienta. W takich przypadkach metoda onUpdate ani zakończenie nie zostaną wywołane.

Dodawanie i usuwanie słuchaczy

addOnConfigUpdateListener to główny punkt wejścia do 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ę odbiornika”, która ma metodę o nazwie remove Aby przestać słuchać, zapisz odniesienie do rejestracji słuchacza. Zadzwoń pod numer remove, aby przestać słuchać podczas tej rejestracji. Jeśli jest to jedyny zarejestrowany odbiorca, wywołanie remove zamyka 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ć zmian, gdy aplikacja przechodzi w tryb tła, i wznawiają działanie, gdy aplikacja jest na pierwszym planie.

Dalsze kroki

Aby skonfigurować i zacząć nasłuchiwać aktualizacji w czasie rzeczywistym, zapoznaj się z artykułem Pierwsze kroki z FirebaseRemote Config.Remote Config