Wytyczne dotyczące wrażeń użytkownika w przypadku dostawy na żądanie

Funkcje, które dobrze sprawdzają się jako moduły na żądanie, to te, których większość użytkowników nie potrzebuje w momencie instalacji. Oto kilka przykładów funkcji aplikacji, które mogą być odpowiednie dla modułów na żądanie:

  • Edytowanie i przesyłanie filmu w aplikacji, w której większość użytkowników tylko ogląda filmy
  • dodanie przepisu w aplikacji, w której większość użytkowników tylko przegląda i wykorzystuje przepisy innych osób;
  • funkcje pomocy, gdy większość użytkowników nie szuka pomocy lub nie szuka jej w aplikacji;
  • duże biblioteki do rzadziej używanych funkcji, takich jak szczegółowe rejestrowanie i zgłaszanie błędów;
  • konkretne funkcje płatności lub kasy;
  • multimedia w bardzo wysokiej rozdzielczości lub funkcje VR/AR;

W typowym przypadku, gdy te moduły są stosunkowo małe (mniej niż 10 MB) i nie występują żadne awarie sieci ani inne problemy, użytkownicy mogą bardzo szybko pobrać moduł na żądanie i zacząć z niego korzystać. Oznacza to, że działanie aplikacji zwykle nie różni się od tego, jakby moduł był obecny podczas instalacji.

Na tej stronie znajdziesz sprawdzone metody, które pomogą Ci:

  • Upewnij się, że użytkownicy są świadomi i mają poczucie kontroli nad pobieraniem stosunkowo dużych modułów, które nie ładują się natychmiast, lub nad błędami instalacji modułów.
  • Dalsza optymalizacja dostarczania modułów, zwłaszcza w sytuacjach, gdy można przewidzieć, że użytkownik będzie potrzebować konkretnego modułu.

Po przeczytaniu tego przewodnika możesz zobaczyć te sprawdzone metody w działaniu, wypróbowując przykładową aplikację z podstawową biblioteką Play.

Informowanie użytkownika

Jeśli funkcja nie jest od razu dostępna, poinformuj o tym użytkownika. Jeśli użytkownik zdecyduje się pobrać funkcję z Google Play, wyświetlaj postęp pobierania.

Możesz monitorować stan żądania, aby wyświetlać postęp pobierania i stan instalacji. Jednak typ interfejsu, który chcesz wyświetlić, może zależeć od rozmiaru pobieranych danych:

  • W przypadku mniejszych modułów (ok. 10 MB lub mniej), które można zainstalować bardzo szybko, rozważ użycie wskaźników takich jak ikona ładowania lub krótki komunikat „pobieram treści”.
  • W przypadku większych modułów, których pobieranie i instalowanie może potrwać kilka sekund lub dłużej, warto wyświetlić pasek postępu pobierania i instalacji, taki jak na rysunku 1.

Rysunek 1. Wyświetlanie komunikatu i paska postępu podczas pobierania i instalowania funkcji na żądanie

Przekazywanie informacji o opóźnieniach i błędach instalacji w odpowiedni sposób

Jeśli pobieranie się nie powiedzie lub będzie przebiegać wolniej niż oczekiwano, jasno i przejrzyście poinformuj użytkownika o tym, co się dzieje i co może zrobić (jeśli w ogóle może coś zrobić), jak pokazano na rysunkach 2 i 3. Jeśli na przykład monitorujesz stan żądania pobrania, a aplikacja otrzyma błąd API_NOT_AVAILABLE, powiadom użytkownika, że jego urządzenie nie obsługuje pobierania na żądanie.

Rysunek 2. Poinformuj użytkownika, dlaczego nie można obecnie zainstalować funkcji.

Rysunek 3. Wyjaśnij użytkownikowi, dlaczego pobieranie funkcji może trwać dłużej, niż oczekiwano.

Pokaż wartość, zanim pojawi się prośba o uprawnienia do pobierania dużych plików

Jeśli moduł na żądanie jest duży (> 150 MB), Google Play wymaga, aby użytkownik najpierw wyraził zgodę na jego pobranie.

Zanim poprosisz o moduł, wyjaśnij użytkownikom, jaką ma on wartość. Wyjaśnij, dlaczego prosisz o te informacje, tak jak robisz to w przypadku uprawnień aplikacji. Otwarta komunikacja z użytkownikami zwiększa prawdopodobieństwo, że zaakceptują pobieranie.

Wyobraź sobie na przykład, że tworzysz aplikację e-commerce, a jedna z jej funkcji umożliwia użytkownikom umieszczanie mebli bezpośrednio w mieszkaniu za pomocą rzeczywistości rozszerzonej (AR). Możesz na przykład dodać wiadomość: „Chcesz zobaczyć, jak nowa sofa będzie wyglądać w Twoim salonie? Zainstaluj przeglądarkę rzeczywistości rozszerzonej teraz”.

Pobieranie i instalowanie w tle

Pobieranie i instalowanie modułów powinno zawsze odbywać się w tle. Oznacza to, że gdy użytkownik czeka na udostępnienie funkcji, powinien mieć możliwość korzystania z innych części aplikacji. Gdy funkcja będzie dostępna, należy wyświetlić powiadomienie, które pozwoli użytkownikowi przełączyć się na tę funkcję według własnego uznania.

Jak pokazano na rysunku 5, użytkownik nadal korzysta z aplikacji i otrzymuje powiadomienie, gdy instalacja funkcji na żądanie zostanie zakończona.

Rysunek 5. Zamiast nagle zmieniać kontekst użytkownika po zakończeniu instalacji modułu, powiadom go, że żądana funkcja jest gotowa do użycia.

Gdy moduł będzie gotowy do użycia, powiadom użytkownika i daj mu możliwość wyboru, czy chce uruchomić funkcję. Ten wzorzec zapewnia użytkownikowi kontekst i kontrolę nad jego doświadczeniami.

W niektórych przypadkach możesz uruchomić funkcję, gdy tylko będzie gotowa. Może to jednak zakłócać działanie aplikacji, dlatego dokładnie rozważ, czy takie zachowanie jest oczekiwane i odpowiednie.

Zwalnianie pamięci urządzenia, gdy moduł nie jest już potrzebny

Przydatną funkcją wszystkich modułów funkcji jest możliwość ich odinstalowywania pojedynczo. Jeśli moduł funkcji nie jest już używany, możesz zmniejszyć rozmiar aplikacji na urządzeniu użytkownika, prosząc Google Play o odinstalowanie tego modułu.

Na przykład aplikacja może mieć rozbudowany proces wprowadzania, który może zawierać elementy rich media. Gdy użytkownik ukończy proces wprowadzający lub będzie aktywny przez określony czas, możesz użyć interfejsu Play Feature Delivery API, aby poprosić Google Play o odinstalowanie tylko tego komponentu aplikacji.

Wskazówki zaawansowane

Zwykle musisz obsłużyć sytuacje, w których użytkownik wyraźnie sygnalizuje zamiar korzystania z funkcji modułów funkcji na żądanie.

Możesz jednak chcieć przewidzieć, kiedy użytkownik prawdopodobnie skorzysta z funkcji, zanim zasygnalizuje, że chce jej użyć. Na przykładzie aplikacji, która umożliwia pobieranie i tworzenie przepisów kulinarnych, poniższe wytyczne opisują, jak zoptymalizować dostarczanie modułów przez przewidywanie potrzeb użytkowników:

  • Przewidywanie, że użytkownik będzie potrzebować danej funkcji w bieżącej sesji. Zastanów się, czy użytkownicy muszą utworzyć konto w aplikacji z przepisami tylko wtedy, gdy chcą tworzyć własne przepisy i udostępniać je społeczności. Możesz użyć utworzenia konta jako sygnału, że użytkownik prawdopodobnie będzie chciał dodać własny przepis, i rozpocząć pobieranie modułu funkcji, zanim użytkownik kliknie „Dodaj przepis”. Możesz zastosować to podejście do innych ścieżek użytkownika w aplikacji, aby usprawnić proces pobierania funkcji.

  • Przewiduj, że użytkownik będzie potrzebować danej funkcji w najbliższej sesji. Jeśli nie potrzebujesz, aby aplikacja natychmiast pobrała i zainstalowała moduł na żądanie, możesz odłożyć instalację na czas, gdy aplikacja będzie działać w tle, a Google Play zajmie się pobieraniem i instalacją. Załóżmy na przykład, że chcesz opublikować nowe przepisy sezonowe w aplikacji kulinarnej, które nie są priorytetem w bieżącej sesji użytkownika. Możesz poprosić Google Play o pobranie i zainstalowanie tych przepisów, gdy aplikacja działa w tle. Jest to szczególnie przydatne w przypadku większych funkcji (>10 MB), które nie są potrzebne od razu, ale prawdopodobnie będą potrzebne w przyszłości.

  • Przewiduj, że użytkownik będzie potrzebować danej funkcji, zanim zainstaluje aplikację. Możesz dodać obsługę dostarczania warunkowego, aby uwzględnić funkcję podczas instalacji na podstawie kraju użytkownika, możliwości sprzętowych urządzenia i poziomu interfejsu API. Możesz na przykład umieścić przepisy na dania z wieprzowiną w modułach warunkowych i pominąć te moduły podczas instalowania aplikacji w regionach, w których wieprzowina jest rzadko spożywana.