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 podczas ładowania
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
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 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 korzystasz z tej strategii, zalecamy dodanie limitu czasu do ekranu wczytywania. 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 w czasie rzeczywistym przez wywołanie funkcji addOnConfigUpdateListener
. 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, które zostaną aktywowane 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ść działań dla tej strategii:
- Po uruchomieniu natychmiast 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.
- Gdy użytkownik wchodzi w interakcję z 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. 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 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 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 schemató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.
- Nie polegaj na połączeniu z siecią, aby uzyskać wartości Remote Config. Określ wartości parametrów domyślnych 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 w żaden sposób nie obejmują pełnej listy sposobów wczytywania wartości konfiguracyjnych. W zależności od potrzeb możesz opracować znacznie 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.