Firebase Remote Config zapewnia dużą elastyczność w zakresie sposobu i czasu
pobierania nowych wartości z serwera oraz aktywowania ich w aplikacji, co pozwala zapewnić wysoką jakość obsługi przez użytkowników końcowych dzięki kontrolowaniu czasu wprowadzania widocznych
zmian konfiguracji. Możesz pobierać nowe wartości podczas uruchamiania aplikacji za pomocą
fetchAndActivate(), i używać
w czasie rzeczywistym Remote Config
jako metody uzupełniającej, aby automatycznie pobierać najnowsze 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 natychmiast po zakończeniu wczytywania. To proste podejście sprawdza się w przypadku zmian konfiguracji, które nie powodują drastycznych zmian wizualnych w interfejsie. Należy go unikać w każdej sytuacji, w której interfejs może się znacząco zmienić, gdy użytkownicy z niego korzystają.
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 występuje w 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, zaleca się dodanie limitu czasu do ekranu wczytywania. Jednominutowy limit czasu Remote Config może być zbyt długi, aby zapewnić użytkownikom wysoką jakość uruchamiania aplikacji.
Nasłuchiwanie aktualizacji Remote Config w czasie rzeczywistym przez wywołanie
addOnConfigUpdateListener dobrze sprawdza się w 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 wartości Remote Config 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 podczas następnego uruchomienia 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ść operacji w tej strategii jest następująca:
- Podczas uruchamiania natychmiast aktywuj wcześniej pobrane wartości. Spowoduje to zastosowanie wszystkich wartości pobranych z serwera w poprzedniej sesji i będzie prawie 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 do momentu, aż je aktywujesz 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 wywołaniami funkcji activate() w razie potrzeby w cyklu życia aplikacji zapewnia, że użytkownicy
mają najnowsze wartości z Remote Config podczas korzystania z aplikacji.
Strategie wczytywania, których należy unikać
Jak wynika z powyższej dyskusji na temat zalet i wad wczytywania, należy unikać kilku 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żyj Remote Config w czasie rzeczywistymRemote Config. Chociaż ryzyko ograniczenia przepustowości jest niskie w większości scenariuszy produkcyjnych, może to być problem podczas aktywnego tworzenia. Remote Config w czasie rzeczywistym jest przeznaczony do tego przypadku użycia.Remote Config 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 backendu za pomocą pobranych domyślnych wartości szablonu.
Dalsze kroki
Te 3 podstawowe strategie nie wyczerpują 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ą API dla swojej platformy.