Informacje o Zdalnej konfiguracji w czasie rzeczywistym

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

Zdalna konfiguracja w czasie rzeczywistym Remote Config umożliwia otrzymywanie zaktualizowanych kluczy i wartości parametrów od razu 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 Remote Config w czasie rzeczywistym możesz:

  • zmniejszyć ryzyko, wdrażając funkcje stopniowo u wybranych użytkowników i w razie potrzeby przeprowadzając awaryjne wycofanie zmian;
  • zwiększyć 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 dla użytkowników, którzy pasują do określonych Google Analytics właściwości użytkownika lub dynamicznie dostosowywać poziom trudności gry do kohort graczy;
  • zmniejszyć zależności kompilacji i zwiększyć produktywność deweloperów: używaj Remote Config parametrów jako flag funkcji, aby udostępniać funkcje zespołom deweloperów i testerów, a jednocześnie ukrywać je przed użytkownikami w środowisku produkcyjnym.

Więcej informacji o sposobach korzystania z Remote Config znajdziesz w artykule Co można zrobić za pomocą Remote Config?

Z tego przewodnika dowiesz się:

  • więcej o relacji klient-serwer, która obsługuje aktualizacje w czasie rzeczywistym;
  • jak działa funkcja w czasie rzeczywistym w pakiecie SDK;
  • jak korzystać z aktualizacji w czasie rzeczywistym, aby aktualizować konfigurację aplikacji.

Połączenie klient-serwer w czasie rzeczywistym

Gdy zaimplementujesz 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 zapisana 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, utrzymuje połączenie i czeka, aż zostanie opublikowana 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 buforowanie i ustawienie minimumFetchInterval. Połączenie klient-serwer jest utrzymywane, gdy aplikacja działa na pierwszym planie.

Przepływ pracy w czasie rzeczywistym w Zdalnej konfiguracji (klient-serwer)
Przepływ pracy klient-serwer Remote Config w czasie rzeczywistym

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

Nasłuchiwanie aktualizacji

Aktualizacje w czasie rzeczywistym uzupełniają Remote Config fetch wywołania. Zalecamy wywoływanie funkcji fetch po uruchomieniu aplikacji (lub w dowolnym momencie jej cyklu życia) oraz nasłuchiwanie aktualizacji Remote Config w czasie rzeczywistym 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 OnConfigUpdateListener, implementując wywołanie zwrotne, które jest wywoływane, gdy dostępna jest aktualizacja Remote Config w aplikacji. W tle 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ć zaktualizowane parametry konfiguracji aplikacji. Dodatkowe strategie aktywowania wartości parametrów podczas korzystania ze Zdalnej konfiguracji w czasie rzeczywistym znajdziesz w artykule Firebase Remote Config Loading Strategies.Remote Config

Selektywne aktywowanie wartości parametrów

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

Podczas konfigurowania odbiornika skonfiguruj go tak, aby wywoływał procedurę obsługi zdarzeń, która jest wywoływana, gdy nowa wersja szablonu zostanie automatycznie pobrana i gdy ta nowa wersja zawiera zmiany. ConfigUpdateEventArgs zwraca configUpdate zawierający updatedKeys, czyli zbiór zmienionych kluczy parametrów, które zainicjowały aktualizację w czasie rzeczywistym, i obejmuje:

  • klucze parametrów, które zostały dodane lub usunięte;
  • 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 aktualizowana do wartości po stronie serwera).

Jeśli używasz odbiornika w czasie rzeczywistym w określonym widoku w aplikacji, przed aktywowaniem możesz sprawdzić, czy parametry istotne dla tego widoku uległy zmianie.

Czasami pobieranie (inicjowane przez wywołanie metody fetch lub przez Zdalną konfigurację w czasie rzeczywistym Remote Config) nie powoduje aktualizacji klienta. W takich przypadkach metoda ConfigUpdateEventArgs lub zakończenie nie zostaną wywołane.

Dodawanie i usuwanie odbiorników

OnConfigUpdateListener to główny punkt wejścia do Remote Config w czasie rzeczywistym. Pierwsze wywołanie tego odbiornika 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łączenie, usuń je. Jeśli jest to jedyny zarejestrowany odbiornik, spowoduje to zamknięcie połączenia w czasie rzeczywistym z serwerem. Przykład znajdziesz w sekcji Nasłuchiwanie aktualizacji w czasie rzeczywistym. Aby przestać nasłuchiwać, zapisz odniesienie do rejestracji odbiornika. Wywołaj remove, aby przestać nasłuchiwać w tej rejestracji. Jeśli jest to jedyny zarejestrowany odbiornik, wywołanie remove spowoduje zamknięcie połączenia w czasie rzeczywistym z serwerem.

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

Dalsze kroki

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