Wskazówki dotyczące jakości aplikacji na Androida XR

Definicje poziomów zgodności

Aby mieć pewność, że Twoja aplikacja zapewnia użytkownikom wygodę korzystania na urządzeniach z Androidem XR, sprawdź te listy kontrolne i testy zgodności.

Listy kontrolne i testy określają kompleksowy zestaw wymagań dotyczących jakości w przypadku większości typów aplikacji na Androida.

Aplikacja mobilna zgodna z Androidem XR

Zgodna z Androidem XR aplikacja mobilna to istniejąca aplikacja mobilna, która nie została zmodyfikowana w celu dostosowania do dużego ekranu lub innego formatu. Ten rodzaj aplikacji jest automatycznie zgodny z Androidem XR, o ile nie wymaga funkcji, które nie są obsługiwane, takich jak telefonia. Użytkownicy mogą wykonywać kluczowe czynności, ale wrażenia użytkownika są mniej optymalne niż w przypadku różnicowanej aplikacji na Androida XR.

Aplikacja tego typu działa na panelu w pełnym ekranie w środowisku użytkownika, ale jej układ może nie być idealny w przypadku większych rozmiarów. Aplikacje, które w manifeście podają rozmiary kompaktowe, będą się odpowiednio wyświetlać. Aplikacja nie działa w trybie zgodności, dlatego nie jest wyświetlana w letterbox. Aplikacja obsługuje podstawowe metody wprowadzania danych dostępne w Androidzie XR (śledzenie oczu + gesty lub rzut dłonią) oraz zapewnia podstawową obsługę zewnętrznych urządzeń wejściowych, w tym klawiatury, myszy, trackpada i kontrolerów gier. Może, ale nie musi być możliwe do zmiany rozmiaru.

Aplikacje mobilne zgodne z Androidem XR są automatycznie włączone i dostępne w Sklepie Google Play. Aplikacji, która nie jest zgodna z wymaganiami dotyczącymi funkcji, nie można zainstalować ze Sklepu Play.

Aplikacja na duży ekran zgodna z Androidem XR

Aplikacja na duży ekran zgodna z Androidem XR to aplikacja na duży ekran poziomu 1 lub poziomu 2, która zawiera optymalizacje układu dla wszystkich rozmiarów ekranów i konfiguracji urządzenia (np. dużych ekranów oprócz urządzeń mobilnych) oraz rozszerzoną obsługę zewnętrznych urządzeń wejściowych i wiele zadań. Aplikacje na duże ekrany zgodne z Androidem XR są automatycznie włączane i dostępne w Sklepie Play.

Zgodna z Androidem XR aplikacja na duży ekran działa na pełnym ekranie na panelu przestrzennym w środowisku użytkownika w rozdzielczości 1024 × 720 dpi. Użytkownicy będą mogli naturalnie korzystać z aplikacji za pomocą oczu i rąk, ale w pozostałych aspektach aplikacja będzie bardzo podobna do aplikacji na duży ekran.

Różnicowanie aplikacji na Androida XR

Aplikacja z Androida XR ma interfejs zaprojektowany specjalnie pod kątem XR i zawiera funkcje dostępne tylko w XR. Możesz w pełni korzystać z możliwości Androida XR i różnicować funkcje aplikacji, dodając do niej funkcje XR (np. panele przestrzenne) lub treści XR (np. filmy 3D). Aby to zrobić, twórz aplikacje za pomocą pakietu Android Jetpack XR SDK, Unity lub OpenXR.

Za pomocą pakietu Jetpack XR SDK możesz udostępniać funkcje związane z rzeczywistością rozszerzoną, w tym panele przestrzenne, środowiska, modele 3D, dźwięk przestrzenny, filmy 3D/przestrzenne/zdjęcia 3D/zdjęcia, elementy kotwiczenia i inne elementy interfejsu przestrzennego, takie jak orbitery.

Aby aplikacja mogła być uznana za zróżnicowaną aplikację na Androida XR, musi zawierać co najmniej 1 funkcję lub element treści związane z rzeczywistością rozszerzoną. W przypadku niektórych przypadków użycia mogą obowiązywać dodatkowe wymagania dotyczące funkcji i treści. Więcej informacji na ten temat znajdziesz poniżej.

Wszystkie aplikacje utworzone za pomocą Unity lub OpenXR są uznawane za zróżnicowane. Aplikacje utworzone w Unity lub OpenXR muszą spełniać wymagania dotyczące jakości i minimalne wymagania, aby mogły być uznane za aplikacje z Androida XR. Na przykład aplikacja z niską częstotliwością klatek, która ulega awariom lub powoduje inne negatywne wrażenia użytkownika, nie kwalifikuje się do tej kategorii.

Lista kontrolna zgodności z Androidem XR

Te listy kontrolne zgodności określają kryteria, które pomogą Ci ocenić poziom obsługi XR przez Twoją aplikację. Poziomy pomocy:

Aplikacja mobilna zgodna z Androidem XR

Aplikacja musi spełniać wymagania dotyczące podstawowej jakości aplikacji.

Aplikacja powinna też być zgodna ze wszystkimi obowiązującymi wytycznymi dotyczącymi dostępności w przypadku innych formatów, np. telefonów i tabletów (np. kontrast kolorów).

Aplikacja na duży ekran zgodna z Androidem XR

Każda aplikacja na duży ekran poziomu 1 lub poziomu 2 jest uznawana za aplikację na duży ekran zgodną z Androidem XR. Wskazówki dotyczące jakości aplikacji na duży ekran zawierają uporządkowane wskazówki dotyczące zapewnienia doskonałych wrażeń na Androidzie XR, ale nie uwzględniają takich kwestii jak obracanie czy składanie/rozkładanie urządzenia. Podobnie Android XR nie obsługuje rysika.

Aplikacja z Androida XR

Aplikacje z Androidem XR są bardzo zróżnicowane, dlatego niektóre z wymienionych funkcji są dostępne tylko w przypadku określonych typów aplikacji. Wybierz funkcje odpowiednie dla Twojej aplikacji. Aplikacje na Androida muszą też być zgodne ze wskazówkami dotyczącymi dużych ekranów i aplikacji mobilnych na Androida. Zapoznaj się z wymaganiami odpowiednimi dla Twojej aplikacji (niektóre z nich mogą stać się potencjalnymi aktualizacjami zasad).

Typ aplikacji lub przypadek użycia

Kategoria

Obszar

Wskazówki

Ogólne wymagania podstawowe (Android i OpenXR)

Prywatność i bezpieczeństwo

Logowanie na konto (UX podczas pierwszego logowania)

Jeśli Twoja aplikacja korzysta z systemu logowania, po pomyślnej weryfikacji wyraźnie wyświetl dane logowania użytkownika (np. nazwę użytkownika). W ten sposób budujesz zaufanie, potwierdzając aktywne konto. Uwzględnij też łatwo dostępne menu lub stronę ustawień, która umożliwia użytkownikom w dowolnym momencie wyświetlanie informacji o koncie i zarządzanie nimi.

Bezpieczeństwo i wygoda

Strobing

Aby zapewnić bezpieczeństwo i dobre samopoczucie wszystkich użytkowników, musisz zminimalizować ryzyko wystąpienia efektów stroboskopowych w swojej aplikacji.

Unikaj celowego stosowania elementów, które mogą powodować migotanie.

1. Jeśli efekt stroboskopowy jest absolutnie niezbędny, upewnij się, że częstotliwość migotania jest bardzo niska (poniżej 3 mrugnięć na sekundę), a migająca powierzchnia jest mała i subtelna.

2. Rozważ udostępnienie możliwości wyłączenia tej funkcji w ustawieniach lub preferencjach.

3. Wyświetl wyraźne ostrzeżenie przed rozpoczęciem migotania.

Zapobieganie chorobie lokomocyjnej

Aby uniknąć wywoływania choroby lokomocyjnej u użytkowników, przestrzegaj tych wskazówek:

  • Postaw na komfort oglądania, unikając gwałtownych ruchów kamery. Zachowaj spójny punkt odniesienia, aby nie dezorientować użytkownika.
  • Nie obracaj kamery w czasie. Jeśli kierunek kamery się zmieni, kamera przełączy się na nową orientację.

Wejście

Rozmiar docelowych obszarów interakcji

Docelowe elementy interaktywne mają minimalny i zalecany rozmiar, który zależy od zamierzonej odległości interakcji:

  • Minimalny rozmiar: odległość w metrach x 0,868 x 48 = M
  • Zalecany rozmiar: odległość w metrach × 0,868 × 56 = M lub większy.

Jeśli używasz pakietu Jetpack XR SDK, zalecamy minimalny rozmiar 48 x 48 dp, a zalecany rozmiar obszaru dotykowego to 56 x 56 dp lub większy.

Funkcje techniczne XR

Ręka

Aplikacja obsługuje naturalne sterowanie ręką jako podstawową metodę interakcji w Androidzie XR, w tym wymagania dotyczące rzutowania promieniowego dłoni i obsługę gestów dla prymitywów wejściowych.

Aplikacja jest grywalna lub w inny sposób użyteczna bez kontrolerów, ale można ją wzbogacić, używając ich.

Boundary (dawniej Guardian)

Jeśli aplikacja wymaga, aby użytkownicy przemieszczali się z punktu początkowego (po uruchomieniu aplikacji) w przestrzeni fizycznej, prosi o przejście przez aplikację lub deklaruje PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE w pliku manifestu.

Jeśli Twoja aplikacja korzysta z funkcji XR_BOUNDARY_TYPE_LARGE, można ją w pełni uruchomić bez wyświetlania granicy (w zasięgu 2 m; pamiętaj, że przenikanie przez granicę zaczyna się w zasięgu 1,5 m).

Wydajność

Renderowanie

Aplikacja renderuje każdą klatkę w czasie od 11,1 ms (90 Hz) do 13,8 ms (72 Hz).

Rozdzielczość

Aplikacja ma rozdzielczość co najmniej 2364 x 2880 na oko.

Czas uruchomienia aplikacji

Użytkownicy chcą jak najszybciej wchodzić w interakcje z Twoją aplikacją lub grą. Definicja dobrego czasu uruchamiania lub wczytywania zależy od kategorii, ale ogólnie zalecamy minimalizowanie czasu między uruchomieniem a pierwszą interakcją.

Poniżej znajdziesz docelową długość:

  • Średni czas uruchomienia „na zimno”: poniżej 2 sekund
  • Średni czas uruchomienia „na ciepło”: poniżej 1 sekundy.

Więcej informacji znajdziesz w artykule Czas uruchamiania aplikacji.

Błędy ANR

Aplikacja nie ulega awarii ani nie blokuje wątku interfejsu, powodując błędy ANR („Android nie odpowiada”).

Aplikacja ma mniej niż 1 błąd ANR w 99,5% sesji dziennych.

Twoja aplikacja korzysta z raportu Google Play przed opublikowaniem, aby wykrywać potencjalne problemy ze stabilnością. Po wdrożeniu sprawdź stronę Android Vitals w Konsoli Play.

Częstotliwość awarii

Nie zużywaj nadmiernych zasobów systemowych, które wpływają na działanie reszty systemu i innych aplikacji. Utrzymaj częstotliwość awarii na poziomie około 1%.

Podstawowe wymagania dotyczące aplikacji na Androida (zróżnicowane w przypadku XR)

Wizualizacja i wrażenia użytkownika

Podstawowe XR

Twoja aplikacja implementuje co najmniej 1 funkcję lub element treści związanych z XR, aby zwiększyć wygodę użytkownika. Może to być orbiter, co najmniej 1 panel przestrzenny, środowisko lub obiekt 3D.

Panele przestrzenne

Podczas wykonywania wielu zadań jednocześnie (czyli wykonywania co najmniej 2 zadań naraz) za pomocą paneli twórz osobne panele przestrzenne. Możesz na przykład utworzyć oddzielne panele przestrzenne dla okien czatu i list.

Środowiska

Jasność może rozpraszać i męczyć podczas wyświetlania środowiska wirtualnego. Aplikacja ma bezpieczny zakres tonalny bez skoków jasności, które mogłyby kolidować z interfejsem lub powodować zmęczenie użytkownika. Interfejs jest czytelny we wszystkich kierunkach, zwłaszcza w środkowym pasie poziomym pola widzenia użytkownika. (szczegółowe wytyczne zostaną podane w przyszłości)

Przechodzenie między obszarem domowym (HSM) a pełnym obszarem (FSM)

Gdy przenosisz użytkowników do pełnego ekranu, Twoja aplikacja ma punkt wejścia, który umożliwia im szybkie przełączanie się między ekranem głównym a pełnym ekranem. Użyj ikony lub etykiety i umieść przycisk w łatwo dostępnym miejscu.

Panele przestrzenne

Umieść menu, komponenty i elementy sterujące w dedykowanym panelu lub oknie. Nie uwzględniaj tych komponentów w panelu głównym.

Przewijanie menu / listy

Aplikacja aktualizuje interakcje związane z przewijaniem (zwłaszcza w karuzeli lub na listach pionowych), aby uwzględnić zjawiska fizyczne lub dynamikę. Na przykład przewijanie obejmuje dynamikę, co powoduje, że treści w karuzeli i listach przez chwilę poruszają się po interakcji z użytkownikiem, zanim stopniowo się zatrzymają (zamiast zatrzymywania się dokładnie w momencie, gdy użytkownik przestanie wprowadzać dane).

Funkcje dotyczące filmów i multimediów

Wizualizacja i wrażenia użytkownika

Spatial Player (tylko Android)

Aplikacja umożliwia użytkownikom oglądanie treści w trybie Full Space.

Usuń elementy sterujące odtwarzaniem z nakładki na treści i umieść je w dedykowanym panelu lub oknie.

W przypadku paneli z odtwarzaniem filmów ustaw format obrazu, aby usunąć efekt letterbox.

Dźwięk przestrzenny

Zastanów się nad obsługą dźwięku przestrzennego, w tym dźwięku ograniczonego do panelu lub dźwięku przestrzennego.

Jednoczesne oglądanie filmów

Jeśli aplikacja obsługuje kilka strumieni wideo jednocześnie, w interfejsie wyświetlane są te informacje:

  • które strumienie wideo zapewniają wyjście audio;
  • Jakie elementy sterujące odtwarzaniem wpływają na które strumienie wideo

Środowisko

Podczas odtwarzania treści w trybie Full Space użytkownicy mogą przyciemnić ścieżkę dźwiękową lub wybrać wirtualne środowisko.


OpenXR™ i logo OpenXR są znakami towarowymi należącymi do The Khronos Group Inc. i zarejestrowanymi jako znak towarowy w Chinach, Unii Europejskiej, Japonii i Wielkiej Brytanii.