Firebase Remote Config zapewnia dużą elastyczność w zakresie sposobu i czasu pobierania nowych wartości z serwera oraz ich aktywowania w aplikacji. Dzięki temu możesz zapewnić użytkownikom wygodę użytkowania aplikacji, kontrolując czas trwania widocznych zmian konfiguracji. Możesz pobierać nowe wartości podczas uruchamiania aplikacji za pomocą fetchAndActivate()
i używać Remote Config w czasie rzeczywistym jako uzupełniającej metody automatycznego pobierania najnowszych wartości parametrów po opublikowaniu nowej wersji Remote Config.
W tym przewodniku omawiamy kilka strategii wczytywania i omawiamy kluczowe kwestie, które należy wziąć pod uwagę przy wyborze najlepszej opcji dla aplikacji.
Strategia 1. Pobierz i aktywuj po wczytaniu
W ramach tej strategii aplikacja wywołuje funkcję fetchAndActivate()
podczas uruchamiania się, aby pobrać nowe wartości z funkcji Remote Config i aktywować je zaraz po zakończeniu wczytywania. To proste podejście sprawdza się w przypadku zmian konfiguracji, które nie powodują znaczących zmian wizualnych w interfejsie. Należy tego unikać w każdej sytuacji, w której interfejs może się wyraźnie zmienić, gdy użytkownicy z niego korzystają.
Gdy aplikacja wywoła funkcję fetchAndActivate()
, może zacząć nasłuchiwać aktualizacji wartości parametrów w czasie rzeczywistym, wywołując funkcję addOnConfigUpdateListener
. Ta metoda zaczyna nasłuchiwać zmian wartości parametrów po stronie serwera, pobiera je automatycznie, a potem wywołuje listenera. Prostą strategią jest aktywowanie nowych wartości w słuchaczu. Jednak, jak wspomniano w przypadku fetchAndActivate()
, należy unikać natychmiastowego aktywowania w przypadku interfejsów z danymi wrażliwymi.
Strategia 2. Aktywuj reklamę na ekranie wczytywania
Aby rozwiązać potencjalny problem z interfejsem, który występuje w strategii 1, możesz użyć ekranu wczytywania. Zamiast uruchamiać aplikację od razu, wyświetl ekran wczytywania i w obiekcie CompletionHandler wywołaj funkcję fetchAndActivate
.
Następnie – ponownie za pomocą wywołania zwrotnego lub powiadomienia – zamknij ekran wczytywania i pozwala użytkownikowi na interakcję z aplikacją.
Jeśli używasz tej strategii, zalecamy dodanie limitu czasu do ekranu ładowania. Czas oczekiwania w przypadku Zdalnej konfiguracji wynoszący 1 minutę może być zbyt długi, aby zapewnić użytkownikom płynne uruchamianie aplikacji.
W ramach tej strategii dobrze sprawdza się nasłuchiwanie aktualizacji Remote Config przez wywołanie funkcji addOnConfigUpdateListener
w czasie rzeczywistym. Dodaj listenera, gdy wyświetla się ekran wczytywania, a potem użyj activate()
w co najmniej 1 miejscu w aplikacji, w którym wartości Remote Config nie spowodują znaczących zmian wizualnych.
Strategia 3. Ładowanie nowych wartości na potrzeby następnego uruchomienia
Skuteczną strategią jest wczytywanie nowych wartości konfiguracji, aby aktywować je przy następnym uruchomieniu aplikacji. W ramach tej strategii aplikacja aktywuje pobrane wartości podczas uruchamiania, zanim spróbuje pobrać nowe, zakładając, że nowe wartości konfiguracji zostały już pobrane, ale nie zostały jeszcze aktywowane. Kolejność operacji w ramach tej strategii:
- Po uruchomieniu natychmiast aktywuj wcześniej pobrane wartości. Dotyczy to wszystkich wartości pobranych z serwera w poprzedniej sesji. Jest to prawie natychmiastowe.
- Gdy użytkownik wchodzi w interakcję z Twoją aplikacją, rozpocznij asynchroniczne wywołanie, aby pobrać nowe wartości zgodnie z domyślnym minimalnym interwałem pobierania, i dodaj odbiorcę aktualizacji konfiguracji w czasie rzeczywistym. Odbiornik w czasie rzeczywistym automatycznie pobiera wszystkie wartości opublikowane na serwerze, gdy aplikacja jest uruchomiona. Aktualizacje w czasie rzeczywistym pomijają ustawienie minimalnego odstępu pobierania.
- W modułach obsługi zakończenia lub wywołania zwrotnego wywołania fetch nie rób nic. Aplikacja zachowa pobrane wartości, dopóki nie aktywujesz ich podczas następnego uruchomienia.
Dzięki tej strategii czas oczekiwania użytkownika jest znacznie skrócony. Połączenie strategii pobierania i słuchania w czasie rzeczywistym z wywołaniami activate()
w miarę potrzeb w cyklu życia aplikacji zapewnia użytkownikom najnowsze wartości z Remote Config podczas interakcji z aplikacją.
Wczytywanie strategii antyspamowych
Jak być może zauważyłeś/zauważyłaś z powyższego omówienia zalet i wad wczytywania, należy unikać kilku wzorców użytkowania.
- Nie aktualizuj ani nie przełączaj elementów interfejsu, gdy użytkownik wyświetla aplikację lub z nią wchodzi w interakcję – chyba że masz ważne powody, aby to zrobić, np. usunąć opcje związane z promocją, która właśnie się zakończyła.
- Nie wysyłaj dużej liczby jednoczesnych próśb o pobieranie, ponieważ może to spowodować ograniczenie przepustowości serwera dla Twojej aplikacji. Jeśli musisz często pobierać aktualizacje, użyj aktualizacji w czasie rzeczywistymRemote Config. Chociaż ryzyko ograniczenia jest niskie w większości scenariuszy produkcyjnych, może stanowić problem podczas aktywnego rozwoju. W takich przypadkach Remote Config w czasie rzeczywistym jest przeznaczony do tego celu. Zapoznaj się z wskazówkami dotyczącymi ograniczania szybkości.
- Nie polegaj na połączeniu z siecią, aby uzyskać wartości Remote Config. Ustaw domyślne wartości parametrów w aplikacji, aby aplikacja zawsze działała zgodnie z oczekiwaniami. Za pomocą pobieranych wartości domyślnych w szablonach możesz okresowo utrzymywać spójność wartości domyślnych aplikacji i back-endu Remote Config.
Dalsze kroki
Te 3 podstawowe strategie nie stanowią w żaden sposób 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 interfejsu API na potrzeby pobierania i aktywowania wartości konfiguracji, zapoznaj się z dokumentacją interfejsu API dla danej platformy.