Strategie wczytywania Zdalnej konfiguracji Firebase

Zdalna konfiguracja Firebase zapewnia dużą elastyczność w zakresie pobierania nowych wartości z serwera i aktywowania ich w aplikacji. Pozwala to zapewnić wysoką jakość obsługi przez użytkowników, kontrolując czas wszelkich widocznych zmian w konfiguracji. Możesz pobierać nowe wartości podczas uruchamiania aplikacji za pomocą polecenia fetchAndActivate(), a po opublikowaniu nowej wersji Zdalnej konfiguracji używać Zdalnej konfiguracji w czasie rzeczywistym jako metody uzupełniającej do automatycznego pobierania najnowszych wartości parametrów.

W tym przewodniku omawiamy kilka strategii wczytywania i kluczowe kwestie, które należy wziąć pod uwagę, wybierając najlepszą opcję dla swojej aplikacji.

Strategia 1. Pobierz i aktywuj po załadowaniu

W ramach tej strategii Twoja aplikacja wywołała metodę fetchAndActivate() przy uruchamianiu, aby pobrać nowe wartości ze Zdalnej konfiguracji i aktywować je zaraz po załadowaniu. To proste podejście sprawdza się w przypadku zmian konfiguracji, które nie powodują gwałtownych zmian wizualnych w interfejsie. Unikaj wprowadzania takich zmian w sytuacjach, gdy interfejs użytkownika może się znacznie zmienić, gdy użytkownicy korzystają z niego.

Gdy aplikacja wywoła metodę fetchAndActivate(), może zacząć nasłuchiwać aktualizacji wartości parametrów w czasie rzeczywistym, wywołując metodę addOnConfigUpdateListener. Ta metoda rozpoczyna nasłuchiwanie wszelkich aktualizacji wartości parametrów po stronie serwera, pobiera je automatycznie, a następnie wywołuje detektor. Prostym sposobem jest aktywowanie nowych wartości w detektorze. Jak wspomnieliśmy w przypadku fetchAndActivate(), w przypadku poufnych UI należy unikać natychmiastowej aktywacji.

Strategia 2. Aktywuj za ekranem wczytywania

Jako rozwiązanie problemu z interfejsem, który wystąpił w strategii 1, możesz polegać na ekranie wczytywania. Zamiast uruchamiać aplikację od razu, wyświetl ekran wczytywania i wywołaj funkcję fetchAndActivate w module obsługi ukończenia. Zaraz po tym czasie (przy użyciu wywołania zwrotnego lub powiadomienia) zamknij ekran wczytywania i pozwól użytkownikowi rozpocząć interakcję z aplikacją.

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

Z tą strategią dobrze działa nasłuchiwanie aktualizacji Zdalnej konfiguracji w czasie rzeczywistym przez wywołanie metody addOnConfigUpdateListener. Dodaj detektor po wyświetleniu ekranu wczytywania, a potem użyj activate() w co najmniej jednym punkcie aplikacji, w którym wartości Zdalnej konfiguracji nie spowodują znaczących zmian wizualnych.

Strategia 3. Wczytaj nowe wartości na potrzeby następnego uruchomienia

Skuteczną strategią jest wczytywanie nowych wartości konfiguracyjnych do aktywowania przy następnym uruchomieniu aplikacji. W ramach tej strategii aplikacja aktywuje pobrane wartości podczas uruchamiania, zanim próbuje pobrać nowe. Przy założeniu, że mogła już pobrać nowe wartości konfiguracji, ale jeszcze ich nie aktywowano. Kolejność działań dla tej strategii:

  1. Po uruchomieniu od razu aktywuj wcześniej pobrane wartości. Ma to zastosowanie do wszystkich wartości pobranych z serwera w poprzedniej sesji i odbywa się to niemal natychmiast.
  2. Gdy użytkownik wchodzi w interakcję z Twoją aplikacją, uruchom wywołanie asynchroniczne, aby pobrać nowe wartości zgodnie z domyślnym minimalnym interwałem pobierania i dodaj detektor aktualizacji konfiguracji w czasie rzeczywistym. Gdy aplikacja działa, detektor w czasie rzeczywistym automatycznie pobiera wszystkie wartości opublikowane na serwerze. Aktualizacje w czasie rzeczywistym pomijają ustawienie minimalnego odstępu pobierania.
  3. W module obsługi uzupełniania lub wywołaniu zwrotnym wywołania pobierania nie musisz nic robić. Aplikacja zachowa pobrane wartości, dopóki ich nie aktywujesz przy następnym uruchomieniu aplikacji.

Dzięki tej strategii czas oczekiwania użytkownika jest znacznie krótszy. Połączenie strategii pobierania i detektora w czasie rzeczywistym z odpowiednimi wywołaniami activate() w cyklu życia aplikacji sprawi, że użytkownicy podczas interakcji z nią mają dostęp do najnowszych wartości ze Zdalnej konfiguracji.

Wczytuję strategie antystrategie

Jak pewnie już wiesz z poprzednich dyskusji na temat wad i zalet wczytywania, jest kilka wzorców użytkowania, których należy unikać.

  • Nie aktualizuj ani nie zmieniaj elementów interfejsu, gdy użytkownik go wyświetla lub korzysta z niej, chyba że masz ważne powody do takiej interakcji z aplikacji lub firmy, np. gdy usuniesz opcje związane z promocją, która właśnie się zakończyła.
  • Nie wysyłaj zbiorczych żądań pobierania jednocześnie, ponieważ może to spowodować ograniczenie działania aplikacji przez serwer. Jeśli często pobierasz aktualizacje, skorzystaj ze Zdalnej konfiguracji w czasie rzeczywistym. W większości scenariuszy produkcyjnych ryzyko ograniczania jest niskie, ale może stanowić problem w trakcie aktywnego programowania, a Zdalna konfiguracja w czasie rzeczywistym została zaprojektowana właśnie w tym przypadku. Zapoznaj się z wskazówkami dotyczącymi ograniczania.
  • Nie polegaj na połączeniach sieciowych, aby uzyskać wartości Zdalnej konfiguracji. Określ wartości parametrów domyślnych w aplikacji, aby aplikacja zawsze działała zgodnie z oczekiwaniami. Możesz okresowo synchronizować wartości domyślne aplikacji i backendu Zdalnej konfiguracji, korzystając z pobranych wartości domyślnych szablonu.

Dalsze kroki

Te 3 podstawowe strategie w żaden sposób nie obejmują pełnej listy sposobów wczytywania wartości konfiguracyjnych. W zależności od potrzeb można opracować bardziej zaawansowane strategie.

Więcej informacji o wywołaniach pobierania i aktywowania wartości konfiguracyjnych znajdziesz w dokumentacji interfejsu API używanej przez Ciebie platformy.