Strategie wczytywania Zdalnej konfiguracji Firebase

Firebase Remote Config zapewnia dużą elastyczność w zakresie tego, jak i kiedy pobierać nowe wartości z serwera i aktywować je w aplikacji. Dzięki temu możesz zadbać o wysoką jakość obsługi przez użytkowników, kontrolując czas wprowadzania widocznych zmian w konfiguracji. Nowe wartości możesz pobierać przy uruchamianiu aplikacji za pomocą funkcji fetchAndActivate(), a jako metodę uzupełniającą możesz używać w czasie rzeczywistymRemote Config do automatycznego pobierania najnowszych wartości parametrów po opublikowaniu nowej wersji Remote Config.

W tym przewodniku omawiamy kilka strategii wczytywania i kluczowe kwestie, które należy wziąć pod uwagę przy wyborze najlepszej opcji dla Twojej aplikacji.

Strategia 1. Pobieranie i aktywowanie po wczytaniu

W tej strategii aplikacja wywołuje funkcję fetchAndActivate() przy pierwszym uruchomieniu, aby pobrać nowe wartości z Remote Config i aktywować je natychmiast po wczytaniu. To proste podejście sprawdza się w przypadku zmian konfiguracji, które nie powodują drastycznych zmian wizualnych w interfejsie. Należy jej unikać w sytuacjach, w których interfejs może się znacząco zmienić, gdy użytkownicy będą z niego korzystać.

Gdy aplikacja wywoła funkcję fetchAndActivate(), może zacząć nasłuchiwać aktualizacje wartości parametru w czasie rzeczywistym, wywołując funkcję addOnConfigUpdateListener. Ta metoda zaczyna nasłuchiwać wszelkich aktualizacji wartości parametrów po stronie serwera, automatycznie je pobiera, a następnie wywołuje odbiornik. Prostą strategią jest aktywowanie nowych wartości w obiekcie nasłuchującym. Jednak w przypadku fetchAndActivate(), jak wspomnieliśmy, należy unikać natychmiastowej aktywacji w przypadku interfejsów użytkownika, które wymagają zachowania ostrożności.

Strategia 2. Aktywacja za ekranem wczytywania

Aby rozwiązać potencjalny problem z interfejsem, który może wystąpić w przypadku strategii 1, możesz użyć ekranu wczytywania. Zamiast od razu uruchamiać aplikację, wyświetl ekran wczytywania i wywołaj funkcję fetchAndActivate w procedurze obsługi zakończenia. Następnie od razu po tym – ponownie za pomocą wywołania zwrotnego lub powiadomienia – zamknij ekran wczytywania i pozwól użytkownikowi zacząć korzystać z aplikacji.

Jeśli używasz tej strategii, zalecamy dodanie limitu czasu do ekranu wczytywania. Jednominutowy limit czasu Zdalnej konfiguracji może być zbyt długi, aby zapewnić użytkownikom wysoką jakość uruchamiania aplikacji.

Nasłuchiwanie aktualizacji w czasie rzeczywistym Remote Config przez wywoływanieaddOnConfigUpdateListener dobrze sprawdza się w przypadku tej strategii. Dodaj odbiornik, gdy wyświetla się ekran ładowania, a potem użyj activate() w co najmniej 1 miejscu w aplikacji, w którym wartości Remote Config nie spowodują drastycznych zmian wizualnych.

Strategia 3. Wczytywanie nowych wartości przy następnym uruchomieniu

Skuteczną strategią jest wczytywanie nowych wartości konfiguracji, które mają zostać aktywowane przy następnym uruchomieniu aplikacji. W tej strategii aplikacja aktywuje pobrane wartości przy uruchamianiu, zanim spróbuje pobrać nowe. Zakłada, że mogła już pobrać nowe wartości konfiguracji, ale jeszcze ich nie aktywowała. Kolejność operacji w tej strategii jest następująca:

  1. Po uruchomieniu natychmiast aktywuj wcześniej pobrane wartości. Spowoduje to zastosowanie wszystkich wartości pobranych z serwera w poprzedniej sesji i jest niemal natychmiastowe.
  2. Gdy użytkownik korzysta z aplikacji, rozpocznij asynchroniczne wywołanie w celu pobrania nowych wartości zgodnie z domyślnym minimalnym interwałem pobierania i dodaj odbiornik aktualizacji konfiguracji w czasie rzeczywistym. Odbiornik w czasie rzeczywistym będzie automatycznie pobierać wszystkie wartości opublikowane na serwerze podczas działania aplikacji. Aktualizacje w czasie rzeczywistym pomijają ustawienie minimalnego odstępu czasu pobierania.
  3. W module obsługi zakończenia lub wywołania zwrotnego wywołania pobierania nie rób nic. Aplikacja zachowa pobrane wartości do momentu, gdy aktywujesz je przy następnym uruchomieniu.

Dzięki tej strategii czas oczekiwania użytkownika jest znacznie skrócony. Połączenie strategii pobierania i nasłuchiwania w czasie rzeczywistym z wywołaniami activate() w razie potrzeby w cyklu życia aplikacji zapewnia użytkownikom najnowsze wartości z Remote Config podczas korzystania z aplikacji.

Wczytywanie strategii przeciwdziałania

Jak wynika z powyższej dyskusji o zaletach i wadach wczytywania, należy unikać kilku wzorców użycia.

  • Nie aktualizuj ani nie zmieniaj elementów interfejsu, gdy użytkownik go wyświetla lub z niego korzysta – chyba że masz ku temu ważne powody związane z aplikacją lub firmą, np. usunięcie opcji związanych z promocją, która właśnie się zakończyła.
  • Nie wysyłaj dużej liczby jednoczesnych żądań pobierania, ponieważ może to spowodować ograniczenie przepustowości serwera dla Twojej aplikacji. Jeśli musisz często pobierać aktualizacje, używaj danych w czasie rzeczywistymRemote Config. Chociaż w większości scenariuszy produkcyjnych ryzyko ograniczenia przepustowości jest niewielkie, może ono stanowić problem podczas aktywnego rozwoju, a Remote Config w czasie rzeczywistym jest przeznaczony do tego zastosowania. Zapoznaj się z wytycznymi dotyczącymi ograniczania przepustowości.
  • Nie polegaj na łączności sieciowej, aby uzyskiwać wartości Remote Config. Ustaw w aplikacji domyślne wartości parametrów, aby zawsze działała ona zgodnie z oczekiwaniami. Możesz okresowo synchronizować domyślne wartości aplikacji i Remote ConfigbackenduRemote Config, korzystając z pobranych domyślnych wartości szablonu.

Dalsze kroki

Te 3 podstawowe strategie nie wyczerpują w żadnym wypadku listy sposobów wczytywania wartości konfiguracji. W zależności od potrzeb możesz opracować znacznie bardziej zaawansowane strategie.

Więcej informacji o konkretnych wywołaniach służących do pobierania i aktywowania wartości konfiguracji znajdziesz w dokumentacji interfejsu API dla swojej platformy.