Zdalna konfiguracja Firebase zapewnia dużą elastyczność w zakresie sposobu i czasu pobierania nowych wartości z serwera i aktywowania ich w aplikacji, co pozwala zapewnić wysoką jakość obsługi użytkownika końcowego poprzez kontrolowanie czasu widocznych zmian konfiguracji. Możesz pobierać nowe wartości podczas uruchamiania aplikacji za pomocą fetchAndActivate()
i używać zdalnej konfiguracji w czasie rzeczywistym jako metody uzupełniającej do automatycznego pobierania najnowszych wartości parametrów po opublikowaniu nowej wersji zdalnej konfiguracji.
W tym przewodniku przyjrzymy się kilku strategiom ładowania i omówimy kluczowe kwestie dotyczące wyboru najlepszej opcji dla Twojej aplikacji.
Strategia 1: Pobierz i aktywuj podczas ładowania
W tej strategii Twoja aplikacja wywołałaby funkcję fetchAndActivate()
podczas pierwszego uruchomienia, aby pobrać nowe wartości ze Zdalnej konfiguracji i aktywować je, gdy tylko skończą się ładować. To proste podejście dobrze sprawdza się w przypadku zmian konfiguracji, które nie powodują żadnych dramatycznych zmian wizualnych w interfejsie użytkownika. Należy tego unikać w każdej sytuacji, w której interfejs użytkownika mógłby się zauważalnie zmienić, gdy użytkownicy są w trakcie korzystania z niego.
Gdy aplikacja wywoła funkcję fetchAndActivate()
, może rozpocząć nasłuchiwanie aktualizacji wartości parametrów w czasie rzeczywistym, wywołując metodę addOnConfigUpdateListener
. Ta metoda rozpoczyna nasłuchiwanie aktualizacji wartości parametrów po stronie serwera, pobiera je automatycznie, a następnie wywołuje odbiornik. Prostą strategią jest aktywacja nowych wartości w słuchaczu. Jednak, jak wspomniano w przypadku fetchAndActivate()
, należy unikać natychmiastowej aktywacji wrażliwych interfejsów użytkownika.
Strategia 2: Aktywuj za ekranem ładowania
Jako środek zaradczy na potencjalny problem z interfejsem użytkownika napotkany w strategii 1, możesz polegać na ekranie ładowania. Zamiast od razu uruchamiać aplikację, wyświetl ekran ładowania i wywołaj fetchAndActivate
w module obsługi uzupełniania. Następnie zaraz po tym — ponownie za pomocą wywołania zwrotnego lub powiadomienia — zamknij ekran ładowania i pozwól użytkownikowi rozpocząć interakcję z Twoją aplikacją.
Jeśli używasz tej strategii, zalecamy dodanie limitu czasu do ekranu ładowania. Jednominutowy limit czasu zdalnej konfiguracji może być zbyt długi, aby zapewnić użytkownikom wysokiej jakości uruchamianie aplikacji.
Nasłuchiwanie aktualizacji zdalnej konfiguracji w czasie rzeczywistym przez wywołanie metody addOnConfigUpdateListener
dobrze sprawdza się w przypadku tej strategii. Dodaj odbiornik, gdy wyświetlany jest ekran ładowania, a następnie użyj activate()
w jednym lub kilku punktach aplikacji, w których wartości funkcji Remote Config nie spowodują drastycznych zmian wizualnych.
Strategia 3: Załaduj nowe wartości dla następnego uruchomienia
Skuteczną strategią jest załadowanie nowych wartości konfiguracyjnych w celu aktywacji przy następnym uruchomieniu aplikacji. W tej strategii Twoja aplikacja aktywuje pobrane wartości podczas uruchamiania, zanim spróbuje pobrać nowe, wychodząc z założenia, że mogła już pobrać — ale jeszcze nie aktywować — nowe wartości konfiguracyjne. Kolejność działań dla tej strategii jest następująca:
- Podczas uruchamiania natychmiast aktywuj wcześniej pobrane wartości. Dotyczy to wszystkich wartości pobranych z serwera w poprzedniej sesji i jest niemal natychmiastowe.
- Gdy użytkownik wchodzi w interakcję z Twoją aplikacją, uruchom 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 działający w czasie rzeczywistym automatycznie pobierze wszelkie wartości, które są publikowane na serwerze podczas działania aplikacji. Aktualizacje w czasie rzeczywistym pomijają ustawienie minimalnego interwału pobierania.
- W procedurze obsługi zakończenia lub wywołaniu zwrotnym dla wywołania pobierania nie rób nic. Twoja aplikacja zachowa pobrane wartości, dopóki nie aktywujesz ich przy następnym uruchomieniu aplikacji.
Dzięki tej strategii czas oczekiwania użytkownika jest znacznie zminimalizowany. Połączenie strategii pobierania i nasłuchiwania w czasie rzeczywistym z wywołaniami activate()
zgodnie z potrzebami w cyklu życia aplikacji zapewnia użytkownikom dostęp do najnowszych wartości ze Zdalnej konfiguracji podczas interakcji z Twoją aplikacją.
Ładowanie antystrategii
Jak być może zrozumiałeś z powyższej dyskusji na temat zalet i wad ładowania, istnieje kilka wzorców użytkowania, których należy unikać.
- Nie aktualizuj ani nie zmieniaj aspektów interfejsu użytkownika, gdy użytkownik go przegląda lub wchodzi z nim w interakcję — chyba że masz ku temu ważne powody związane z aplikacją lub biznesem, takie jak usunięcie opcji związanych z właśnie zakończoną promocją.
- Nie wysyłaj masowo wielu jednoczesnych żądań pobierania, co może spowodować ograniczenie działania aplikacji przez serwer. Jeśli musisz często pobierać aktualizacje, użyj zdalnej konfiguracji w czasie rzeczywistym . Chociaż ryzyko ograniczania przepustowości jest niskie w większości scenariuszy produkcyjnych, może stanowić problem podczas aktywnego programowania — a Zdalna konfiguracja w czasie rzeczywistym jest przeznaczona do tego przypadku użycia. Zapoznaj się ze wskazówkami dotyczącymi ograniczania .
- Nie polegaj na łączności sieciowej w celu uzyskania wartości zdalnej konfiguracji. Ustaw domyślne wartości parametrów w aplikacji, aby aplikacja zawsze działała zgodnie z oczekiwaniami. Możesz okresowo synchronizować domyślne wartości aplikacji i zaplecza zdalnej konfiguracji, korzystając z domyślnych ustawień pobranego szablonu .
Następne kroki
Te trzy podstawowe strategie w żaden sposób nie obejmują pełnej listy sposobów ładowania wartości konfiguracyjnych. W zależności od potrzeb możesz opracować znacznie bardziej wyrafinowane strategie.
Zapoznaj się z dokumentacją interfejsu API dla swojej platformy, aby dowiedzieć się więcej o konkretnych wywołaniach pobierania i aktywowania wartości konfiguracyjnych.