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 metodę OnConfigUpdateListener, implementując wywołanie zwrotne, które jest wywoływane za każdym razem, 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 zadzwonisz pod numer OnConfigUpdateListener, możesz poczekać na zmianę i ją aktywować.

Podczas konfigurowania detektora konfigurujesz go tak, aby wywoływał moduł obsługi zdarzeń, który jest wywoływany za każdym razem, gdy nowa wersja szablonu zostanie automatycznie pobrana i gdy ta nowa wersja zawiera zmiany. ConfigUpdateEventArgs zwraca configUpdate zawierający updatedKeys, czyli zestaw 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 ConfigUpdateEventArgs ani zakończenie nie zostaną wywołane.

Dodawanie i usuwanie detektorów

OnConfigUpdateListener to główny punkt wejścia dla 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.

Aby przestać nasłuchiwać połączenia, musisz je usunąć. Jeśli jest to jedyny zarejestrowany detektor, spowoduje to zamknięcie połączenia z serwerem w czasie rzeczywistym. Przykład znajdziesz w sekcji Nasłuchiwanie aktualizacji w czasie rzeczywistym. Aby przestać nasłuchiwać, zapisz odwołanie do rejestracji detektora. Zadzwoń pod numer remove, aby przestać słuchać w tym miejscu rejestracji. Jeśli jest to jedyny zarejestrowany detektor, wywołanie remove zamyka połączenie 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.