Informacje o Zdalnej konfiguracji w czasie rzeczywistym


Remote Config w czasie rzeczywistym umożliwia otrzymywanie zaktualizowanych kluczy i wartości parametrów natychmiast po ich opublikowaniu na serwerze. Umożliwia to szybkie aktualizowanie dowolnego typu atrybutu aplikacji kontrolowanego 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 robić w 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 wdrożysz 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 obecnie 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 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 fetch, 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 modelu klient-serwer w Zdalnej konfiguracji
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 fetch 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 addOnConfigUpdateListener, implementując wywołanie zwrotne, które jest wywoływane, gdy w aplikacji jest dostępna Remote Config aktualizacja. 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 wywołania zwrotnego 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 o Remote Config strategiach wczytywania Firebase.

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 automatycznie pobrana zostanie nowa wersja szablonu i gdy ta nowa wersja zawiera zmiany w aktualnie aktywowanych w aplikacji wartościach parametrów.

Te wywołania zwrotne są wywoływane z parametrem configUpdate. configUpdate contains updatedKeys, czyli zbiór zmienionych kluczy parametrów, które zainicjowały aktualizację w czasie rzeczywistym. Obejmuje on 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. 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 lub 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ć nasłuchiwać, zapisz odwołanie do rejestracji odbiorcy. Zadzwoń pod numer remove, aby przestać słuchać w tym miejscu 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ć aktualizacji, gdy aplikacja przechodzi w tło, i wznawiają działanie, gdy aplikacja jest na pierwszym planie.

Dalsze kroki

Zapoznaj się z artykułem Pierwsze kroki w FirebaseRemote Config, aby skonfigurować Remote Config i zacząć nasłuchiwać aktualizacje w czasie rzeczywistym.