Firebase Remote Config zapewnia dużą elastyczność w zakresie tego, jak i kiedy pobierać nowe wartości z serwera i aktywować je w aplikacji. Dzięki temu możesz zadbać o jakość wrażeń użytkowników, kontrolując czas wprowadzania widocznych zmian w konfiguracji. Nowe wartości możesz pobierać przy uruchamianiu aplikacji za pomocą funkcji fetchAndActivate. Możesz też używać w czasie rzeczywistymRemote 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 ładowania i kluczowe kwestie, które należy wziąć pod uwagę przy wyborze najlepszej opcji dla Twojej aplikacji.
Strategia 1. Pobieranie i aktywowanie po wczytaniu
W tej strategii aplikacja wywołuje funkcję fetchAndActivate, gdy po raz pierwszy się uruchamia, aby pobrać nowe wartości z Remote Config i aktywować je od razu po wczytaniu. To podejście sprawdza się w przypadku zmian konfiguracji, które nie powodują drastycznych zmian wizualnych w interfejsie. Unikaj tego podejścia w sytuacjach, w których 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ć aktualizacji wartości parametru w czasie rzeczywistym, wywołując funkcję addOnConfigUpdateListener. Ta metoda zaczyna nasłuchiwać wszelkich aktualizacji wartości parametrów po stronie serwera, automatycznie je pobiera, a następnie wywołuje odbiornik. Jedną ze strategii jest aktywowanie nowych wartości w detektorze. Jak wspomnieliśmy w przypadku fetchAndActivate, unikaj natychmiastowej aktywacji w przypadku interfejsów o charakterze wrażliwym.
Strategia 2. Aktywacja 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 od razu po tym – ponownie za pomocą wywołania zwrotnego lub powiadomienia – zamknij ekran ładowania i pozwól użytkownikowi zacząć korzystać z aplikacji.
Jeśli używasz tej strategii, zalecamy dodanie limitu czasu do ekranu ładowania. 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 poprzez wywoływanie funkcjiaddOnConfigUpdateListener dobrze sprawdza się w przypadku tej strategii. Dodaj odbiornik, gdy wyświetla się ekran ładowania, a następnie użyj 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 przy następnym uruchomieniu
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łada, że mogła już pobrać nowe wartości konfiguracji, ale jeszcze ich nie aktywowała. Kolejność operacji w przypadku tej strategii jest następująca:
- Po uruchomieniu 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 korzysta z aplikacji, rozpocznij 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 w czasie rzeczywistym automatycznie pobiera wszystkie wartości opublikowane na serwerze podczas działania aplikacji. Aktualizacje w czasie rzeczywistym pomijają ustawienie minimalnego odstępu czasu między pobraniami.
- W procedurze obsługi zakończenia lub wywołaniu zwrotnym wywołania pobierania nie rób nic. Aplikacja zachowa pobrane wartości do momentu, gdy aktywujesz je przy następnym uruchomieniu.
Dzięki tej strategii czas oczekiwania użytkownika jest znacznie skrócony. Połączenie strategii pobierania i odbiornika w czasie rzeczywistym z wywołaniami activate() w razie potrzeby w cyklu życia aplikacji zapewnia użytkownikom najnowsze wartości z Remote Config podczas korzystania z aplikacji.
Wczytuję strategie przeciwdziałania
Na podstawie poprzednich sekcji dotyczących strategii wczytywania unikaj tych wzorców użycia:
- Nie aktualizuj ani nie zmieniaj elementó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. usunięcie opcji związanych z promocją, która właśnie się zakończyła.
- Nie wysyłaj dużej liczby jednoczesnych żądań pobierania, ponieważ może to spowodować ograniczenie przepustowości serwera dla Twojej aplikacji. Jeśli musisz często pobierać aktualizacje, używaj danych w czasie rzeczywistymRemote Config. W większości scenariuszy produkcyjnych ryzyko ograniczenia jest niewielkie, ale może stanowić problem podczas aktywnego rozwoju. W takim przypadku warto używać Remote Config w czasie rzeczywistym. Zapoznaj się z wytycznymi dotyczącymi ograniczania przepustowości.
- Nie polegaj na połączeniu sieciowym, aby uzyskiwać wartości Remote Config. Ustawiaj w aplikacji domyślne wartości parametrów, aby zawsze działała ona zgodnie z oczekiwaniami. Możesz okresowo synchronizować domyślne wartości aplikacji i Remote Configbackendu , korzystając z 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 złożone strategie.
Więcej informacji o konkretnych wywołaniach służących do pobierania i aktywowania wartości konfiguracji znajdziesz w dokumentacji interfejsu API dla swojej platformy.