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. 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.
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.
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ą, rozpocznij asynchroniczne wywołanie w celu pobrania nowych wartości zgodnie z domyślnym minimalnym interwałem 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. Jednak użytkownik musi uruchomić aplikację po raz drugi, aby zobaczyć najnowszą konfigurację. Musisz zrównoważyć te kwestie z logiką Twojej firmy i aplikacji.
Ł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. Ryzyko takiego zdarzenia jest niskie w większości scenariuszy produkcyjnych, ale może stanowić problem podczas aktywnego programowania. Zapoznaj się ze wskazówkami dotyczącymi ograniczania przepustowości dla platform Android i Apple .
- 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żna opracować znacznie bardziej wyrafinowane strategie, takie jak oparte na funkcjach aktualizacje w tle opisane w sekcji Propaguj aktualizacje w czasie rzeczywistym .
Zapoznaj się z dokumentacją interfejsu API dla swojej platformy, aby dowiedzieć się więcej o konkretnych wywołaniach pobierania i aktywowania wartości konfiguracyjnych.