Firebase Remote Config zapewnia dużą elastyczność w zakresie tego, jak i kiedy
pobierać nowe wartości z serwera oraz aktywować je w aplikacji. Dzięki temu możesz
zapewnić użytkownikom wysoką jakość, kontrolując czas wprowadzania widocznych
zmian w konfiguracji. Możesz pobierać nowe wartości podczas uruchamiania aplikacji za pomocą
fetchAndActivate, oraz korzystać z zdalnej konfiguracji w czasie rzeczywistym
Remote Config jako metody uzupełniającej
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 podczas wczytywania
W tej strategii aplikacja wywołuje funkcję fetchAndActivate() przy pierwszym
uruchomieniu, aby pobrać nowe wartości z Remote Config i aktywować je, gdy tylko
zostaną wczytane. To proste podejście sprawdza się w przypadku zmian konfiguracji, które nie powodują drastycznych zmian wizualnych w interfejsie. Unikaj tego podejścia w każdej sytuacji, w której interfejs może się znacząco zmienić podczas korzystania z niego przez użytkowników.
Gdy aplikacja wywoła funkcję fetchAndActivate(), może zacząć nasłuchiwać aktualizacje wartości parametrów w czasie rzeczywistym, wywołując funkcję addOnConfigUpdateListener. Ta metoda zaczyna nasłuchiwać wszelkie aktualizacje wartości parametrów po stronie serwera, automatycznie je pobiera, a następnie wywołuje odbiornik. Prostą strategią jest aktywowanie nowych wartości w odbiorniku. Jednak, jak wspomnieliśmy w przypadku funkcji fetchAndActivate(), w przypadku wrażliwych interfejsów należy unikać natychmiastowej aktywacji.
Strategia 2. Aktywowanie 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, 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. Minutowy 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łanie
addOnConfigUpdateListener dobrze sprawdza się w przypadku tej strategii. Dodaj odbiornik, gdy
wyświetla się ekran wczytywania, a następnie użyj funkcji activate() w co najmniej 1 miejscu w
aplikacji, w którym Remote Config wartości nie spowodują drastycznych zmian wizualnych.
Strategia 3. Wczytywanie nowych wartości na potrzeby następnego uruchomienia
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 podczas uruchamiania, zanim spróbuje pobrać nowe, zakładając, że mogła już pobrać, ale jeszcze nie aktywować, nowe wartości konfiguracji. Kolejność działań w tej strategii jest następująca:
- Po uruchomieniu natychmiast aktywuj wcześniej pobrane wartości. Spowoduje to zastosowanie wszystkich wartości pobranych z serwera w poprzedniej sesji i będzie niemal natychmiastowe.
- Gdy użytkownik korzysta z aplikacji, rozpocznij asynchroniczne wywołanie, aby pobrać nowe wartości zgodnie z domyślnym minimalnym interwałem pobierania, i dodaj odbiornik aktualizacji konfiguracji w czasie rzeczywistym. Odbiornik w czasie rzeczywistym automatycznie pobierze wszystkie wartości opublikowane 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 wywołania pobierania nie rób nic. Aplikacja zachowa pobrane wartości, dopóki nie aktywujesz ich przy następnym uruchomieniu.
Dzięki tej strategii czas oczekiwania użytkownika jest znacznie zminimalizowany. Połączenie strategii pobierania i
odbiornika w czasie rzeczywistym z activate() wywołaniami w razie potrzeby w cyklu życia aplikacji
zapewnia, że użytkownicy mają najnowsze wartości z Remote Config podczas korzystania z aplikacji.
Strategie unikania wczytywania
Na podstawie poprzednich sekcji dotyczących strategii wczytywania unikaj tych wzorców użycia:
- Nie aktualizuj ani nie zmieniaj aspektó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. usuwanie opcji związanych z promocją, która właśnie się skończyła.
- Nie wysyłaj dużej liczby jednoczesnych żądań pobierania, co może spowodować ograniczenie przepustowości aplikacji przez serwer. Jeśli musisz często pobierać aktualizacje, używaj zdalnej konfiguracji w czasie rzeczywistym Remote Config. Chociaż w większości scenariuszy produkcyjnych ryzyko ograniczenia przepustowości jest niewielkie, może to być problem podczas aktywnego tworzenia aplikacji. Zdalna konfiguracja w czasie rzeczywistym Remote Config jest przeznaczona do tego przypadku użycia. Zapoznaj się z wytycznymi dotyczącymi ograniczania przepustowości.
- Nie polegaj na łączności sieciowej, aby uzyskiwać wartości Remote Config. 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 Remote Config zaplecza za pomocą pobranych domyślnych wartości szablonu.
Dalsze kroki
Te 3 podstawowe strategie nie stanowią pełnej listy sposobów wczytywania wartości konfiguracji. W zależności od potrzeb możesz opracować znacznie bardziej zaawansowane strategie.
Aby dowiedzieć się więcej o konkretnych wywołaniach służących do pobierania i aktywowania wartości konfiguracji, zapoznaj się z dokumentacją interfejsu API dla swojej platformy.