Informacje o Zdalnej konfiguracji w czasie rzeczywistym

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

Remote Config w czasie rzeczywistym umożliwia otrzymywanie zaktualizowanych kluczy i wartości parametrów, gdy tylko zostaną opublikowane na serwerze. Dzięki temu możesz szybko zaktualizować dowolny typ atrybutu aplikacji kontrolowanego za pomocą wartości parametru Remote Config. Dzięki aktualizacjom Remote Config w czasie rzeczywistym możesz:

  • Zmniejsz ryzyko, stopniowo wdrażając funkcje dla wybranych użytkowników i w razie potrzeby przywracając poprzednią wersję.
  • Zwiększaj 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 kryteria Google Analytics, lub dynamicznie dostosowywać poziom trudności gry dla grup graczy.
  • Zmniejsz liczbę 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, jednocześnie ukrywając je przed użytkownikami w środowisku produkcyjnym.

Więcej informacji o sposobach korzystania z Remote Config znajdziesz w artykule Czynności, które można wykonywać w Remote Config.

W tym przewodniku znajdziesz te tematy:

połączenie klient-serwer w czasie rzeczywistym,

Gdy wdrożysz w aplikacji Remote Config w czasie rzeczywistym, utworzysz detektor czasu rzeczywistego, który otwiera połączenie HTTP z backendem Remote Config. Żądanie zawiera wersję konfiguracji zapisaną w pamięci podręcznej na urządzeniu. Serwer Remote Config w czasie rzeczywistym używa komunikatu o unieważnieniu, aby poinformować 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 czeka, aż zostanie opublikowana na serwerze. Gdy pakiet SDK klienta otrzyma sygnał unieważnienia, automatycznie go pobierze, a następnie wywoła wywołanie zwrotne detektora zarejestrowane podczas otwierania połączenia detektora. To pobieranie jest podobne do wywołania pobierania, które można wykonać za pomocą pakietu SDK, ale pomija ustawienia buforowania i minimumFetchInterval. Połączenie klient–serwer jest utrzymywane, gdy aplikacja działa na pierwszym planie.

Przepływ pracy klient-serwer w Zdalnej konfiguracji w czasie rzeczywistym
Przepływ pracy klient-serwer w Remote Configczasie rzeczywistym

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

Słuchanie aktualizacji

Aktualizacje w czasie rzeczywistym uzupełniają wywołania Remote Config fetch. Zalecamy wywoływanie funkcji pobierania przy uruchamianiu aplikacji (lub w dowolnym momencie jej cyklu życia) i nasłuchiwanie aktualizacji Remote Config w czasie rzeczywistym podczas sesji użytkownika, aby mieć pewność, że masz najnowsze wartości, gdy tylko zostaną opublikowane na serwerze.

Aby nasłuchiwać aktualizacji, wywołaj 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 zaczyna nasłuchiwać aktualizacji z serwera Remote Config. Więcej informacji o relacji klient–serwer znajdziesz w poprzedniej sekcji.

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

Selektywne aktywowanie wartości parametrów

Gdy wywołasz metodę 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 aktywnych wartościach parametrów w aplikacji.

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

  • 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. informacje o personalizacji Remote Config)
  • 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 używasz detektora działającego w czasie rzeczywistym w określonym widoku w aplikacji, przed aktywacją możesz sprawdzić, czy parametry związane z tym widokiem uległy zmianie.

Czasami pobieranie (rozpoczęte po wywołaniu metody fetch lub przez Remote Config w czasie rzeczywistym) nie powoduje aktualizacji klienta. W takich przypadkach metoda next ani zakończenie nie zostaną wywołane.

Dodawanie i usuwanie detektorów

onConfigUpdate 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 używają tego samego połączenia, multipleksując komunikat o unieważnieniu opisany w sekcji Połączenie klient-serwer w czasie rzeczywistym.

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

Chociaż możesz ręcznie zatrzymać nasłuchiwanie aktualizacji, często nie jest to konieczne. Remote Config w czasie rzeczywistym automatycznie przestaje nasłuchiwać aktualizacji, gdy aplikacja działa w tle, i wznawia nasłuchiwanie, gdy aplikacja działa na pierwszym planie.

Dalsze kroki

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