Android XR: wskazówki dotyczące jakości aplikacji zapewniających immersyjne wrażenia

Odpowiednie urządzenia z XR
Te wskazówki pomogą Ci tworzyć treści na te typy urządzeń z XR.
Gogle XR
Przewodowe okulary XR

Wskazówki dotyczące jakości aplikacji w przypadku trybu immersyjnego rozszerzają podstawowe standardy mobilne dotyczące jakości aplikacji.

Te wskazówki i zasady dotyczące jakości aplikacji skupiają się na interakcjach przestrzennych i możliwościach, które są unikalne dla platformy Android XR na goglach XR i przewodowych okularach XR, zgodnie z opisem w definicjach poziomów zgodności, listach kontrolnych i zasadach dotyczących aplikacji na Androida XR. Zapoznaj się z tymi sekcjami, aby sprawdzić, czy aplikacja zapewnia dobre wrażenia użytkownikom gogli XR i przewodowych okularów XR.

Immersyjne przeżycia: definicje poziomów zgodności

Zapoznaj się z poniższymi definicjami poziomów zgodności, aby dowiedzieć się, jaki poziom obsługi zapewnia Twoja aplikacja w przypadku immersyjnych doświadczeń na goglach XR i przewodowych okularach XR.

Aplikacja mobilna zgodna z Androidem XR

Aplikacja mobilna zgodna z Androidem XR to dotychczasowa aplikacja mobilna, która nie została zmodyfikowana pod kątem dużego ekranu ani żadnego innego formatu. Ten typ aplikacji jest automatycznie zgodny z Androidem XR, o ile nie wymaga żadnych funkcji, które nie są obsługiwane, takich jak telefonia. Użytkownicy mogą wykonywać najważniejsze zadania, ale wygoda korzystania z aplikacji jest mniejsza niż w przypadku aplikacji zróżnicowanej na Androida XR.

Ten typ aplikacji działa na pełnym ekranie na panelu w środowisku użytkownika, ale jej układ może nie być idealny w przypadku większych rozmiarów. Aplikacje, które w pliku manifestu mają określone kompaktowe rozmiary, wyświetlają się odpowiednio. Aplikacja nie działa w trybie zgodności, więc nie jest wyświetlana w formacie letterbox. Aplikacja obsługuje podstawowe tryby wprowadzania danych dostępne na Androidzie XR (śledzenie wzroku + gesty lub dłonie z promieniem) oraz podstawowe urządzenia wejściowe, takie jak klawiatura, mysz, trackpad i kontrolery do gier. Może być możliwe zmienianie jego rozmiaru.

Aplikacje mobilne zgodne z Androidem XR są automatycznie akceptowane i dostępne w Sklepie Google Play. Aplikacji, która jest niezgodna z powodu nieobsługiwanych wymagań dotyczących funkcji, nie można zainstalować ze Sklepu Play.

Aplikacja adaptacyjna zgodna z Androidem XR

Aplikacja adaptacyjna zgodna z Androidem XR to aplikacja, która ma zaimplementowane optymalizacje układu dla wszystkich rozmiarów ekranu i konfiguracji urządzeń (np. dużych ekranów i urządzeń mobilnych), a także ulepszoną obsługę zewnętrznych urządzeń wejściowych i wielozadaniowości. Aplikacja spełnia te wymagania, jeśli jest zoptymalizowana pod kątem adaptacyjności na poziomie 2 lub zróżnicowana pod kątem adaptacyjności na poziomie 1 na komputerach, tabletach lub urządzeniach składanych.

Aplikacje adaptacyjne zgodne z Androidem XR są automatycznie akceptowane i dostępne w Sklepie Play.

Aplikacja zróżnicowana na Androida XR

Aplikacja zróżnicowana na Androida XR zapewnia wrażenia użytkownika zaprojektowane specjalnie pod kątem XR i implementuje funkcje oferowane tylko na XR. Możesz w pełni wykorzystać możliwości Androida XR i wyróżnić swoją aplikację, dodając funkcje XR (takie jak panele przestrzenne) i treści XR (takie jak filmy 3D) za pomocą pakietu Android Jetpack XR SDK, Unity, Godot, Unreal Engine lub OpenXR.

Możesz używać pakietu Jetpack XR SDK, aby udostępniać funkcje XR, takie jak:

  • Panele przestrzenne
  • Środowiska
  • modele 3D,
  • Dźwięk przestrzenny
  • filmy i zdjęcia 3D lub przestrzenne,
  • Kotwice
  • inne elementy interfejsu przestrzennego, takie jak orbitery;

Aby aplikacja mogła zostać uznana za wyróżniającą się na Androidzie XR, musi implementować co najmniej 1 funkcję lub element treści przeznaczony na XR. W przypadku niektórych zastosowań mogą obowiązywać dodatkowe wymagania dotyczące funkcji i treści. Szczegółowe informacje znajdziesz w kolejnych sekcjach.

Wszystkie aplikacje utworzone za pomocą Unity, Godot, Unreal Engine lub OpenXR są uznawane za wyróżniające się, o ile spełniają wskaźniki jakości i minimalne wymagania, aby można je było uznać za aplikacje wyróżniające się na Androidzie XR. Na przykład aplikacja z niską liczbą klatek, awariami lub innymi negatywnymi wrażeniami użytkowników nie kwalifikuje się do tego programu.

Pomóż użytkownikom odkryć Twoją aplikację w Sklepie Play za pomocą plakietki

Aplikacje zoptymalizowane pod kątem Androida XR automatycznie otrzymują w Sklepie Play plakietkę „Utworzono z myślą o XR”, aby ułatwić użytkownikom odkrywanie wysokiej jakości treści XR.

Immersyjne przeżycia: lista kontrolna zgodności

Aby sprawdzić, czy aplikacja zapewnia użytkownikom dobre wrażenia na goglach XR i przewodowych okularach XR, zapoznaj się z poniższymi listami kontrolnymi i testami zgodności.

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

Aplikacja mobilna zgodna z Androidem XR

Aplikacja musi spełniać wymagania dotyczące ogólnej jakości aplikacji.

Aplikacja powinna też być zgodna ze wszystkimi obowiązującymi wytycznymi dotyczącymi ułatwień dostępu na innych urządzeniach, takich jak telefony i tablety (np. kontrast kolorów).

Aplikacja adaptacyjna zgodna z Androidem XR

Każda aplikacja, która jest zoptymalizowana pod kątem adaptacyjności na poziomie 2 lub zróżnicowana pod kątem adaptacyjności na poziomie 1 na komputerach, tabletach lub urządzeniach składanych, jest również uważana za aplikację adaptacyjną zgodną z Androidem XR. Wskazówki dotyczące jakości aplikacji adaptacyjnych zawierają ustrukturyzowane podejście do zapewniania doskonałych wrażeń na Androidzie XR, ale nie wymagają uwzględniania stanu urządzenia, takiego jak obrót czy składanie/rozkładanie.

Aplikacja zróżnicowana na Androida XR

Aplikacje zróżnicowane na Androida XR są bardzo zróżnicowane, dlatego niektóre z wymienionych funkcji mają zastosowanie tylko do określonych typów aplikacji. Wybierz funkcje, które są odpowiednie dla Twojej aplikacji. Aplikacje na Androida muszą też być zgodne ze wskazówkami dotyczącymi jakości aplikacji adaptacyjnych. Zapoznaj się z wymaganiami, które dotyczą Twojej aplikacji.

Aby zapewnić użytkownikom jak najlepsze wrażenia, postępuj zgodnie ze wskazówkami dotyczącymi projektowania aplikacji na urządzenia XR.

Typ aplikacji i przypadek użycia

Kategoria

Obszar

Wskazówki

Ogólne wymagania podstawowe (Android i OpenXR)

Prywatność i bezpieczeństwo

Logowanie się na konto (pierwsze wrażenia użytkownika)

Jeśli Twoja aplikacja korzysta z systemu logowania, po pomyślnym uwierzytelnieniu wyraźnie wyświetl dane logowania użytkownika (np. nazwę użytkownika). Zwiększa to zaufanie, ponieważ potwierdza, że konto jest aktywne. Dodatkowo umieść łatwo dostępne menu lub stronę ustawień, na której użytkownicy mogą w każdej chwili wyświetlić informacje o swoim koncie i nimi zarządzać.

Bezpieczeństwo i wygoda

Strobing

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

Unikaj celowego umieszczania elementów, które mogą powodować efekt stroboskopowy.

1. Jeśli efekt stroboskopowy jest absolutnie konieczny, upewnij się, że częstotliwość migania jest bardzo niska (poniżej 3 błysków na sekundę), a obszar migania jest mały i subtelny.

2. Rozważ udostępnienie opcji wyłączenia tej funkcji w ustawieniach.

3. Wyświetlaj wyraźne ostrzeżenie przed pojawieniem się efektu stroboskopowego.

Unikanie choroby lokomocyjnej

Aby uniknąć wywoływania u użytkowników choroby lokomocyjnej, postępuj zgodnie z tymi wskazówkami:

  • Zadbaj o komfort wizualny, unikając gwałtownych ruchów kamery. Utrzymuj spójny układ odniesienia, aby nie dezorientować użytkownika.
  • Nie obracaj kamery w czasie. Jeśli kierunek kamery się zmieni, kamera dostosuje się do nowej orientacji.

Ciemniej

Aby uniknąć zagrożeń, przestrzegaj ustawień ściemniacza skonfigurowanych przez użytkownika. Możesz dostosować przyciemnienie, aby zapewnić optymalne działanie aplikacji, ale użytkownicy mogą w każdej chwili ręcznie zmienić to ustawienie.

Wejście

Rozmiar celów interakcji

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

  • Minimalny rozmiar: DistanceInM x 0,868 x 48 = M
  • Zalecany rozmiar: DistanceInM x 0.868 x 56 = M lub większy

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

Funkcje techniczne XR

Wprowadzanie danych ręcznie

Aplikacja obsługuje naturalne wprowadzanie danych dłonią jako podstawową metodę interakcji na Androidzie XR, w tym wymagania dotyczące rzutowania dłoni i obsługę gestów w przypadku podstawowych elementów wprowadzania danych.

W Twoją aplikację można grać lub korzystać z niej bez kontrolerów, ale można je dodać, jeśli chcesz.

Granica

Jeśli aplikacja koncentruje się głównie na świecie rzeczywistym (wartość currentPassthroughOpacity jest większa niż 0,5), użytkownicy mogą aktywnie poruszać się po rzeczywistym otoczeniu. W centralnym polu widzenia nie powinny znajdować się gęste, nieprzezroczyste elementy, które mogą powodować ryzyko potknięcia się lub utrudniać orientację w otoczeniu.

Jeśli aplikacja jest przeznaczona głównie do użytku w świecie wirtualnym (currentPassthroughOpacity ma wartość mniejszą niż 0,5) i nie jest to środowisko stacjonarne, rozważ zadeklarowanie w pliku manifestu dużego obszaru za pomocą PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE.

Jeśli Twoja aplikacja korzysta z XR_BOUNDARY_TYPE_LARGE, można w nią grać bez wyświetlania granicy (w promieniu 2,0 m; pamiętaj, że granica zaczyna się pojawiać w promieniu 1,5 m).

Okulary XR: na okularach XR nie ma granicy.

Wydajność

Renderowanie

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

Rozdzielczość

OpenXR i silniki: zapytaj XR_ANDROID_recommended_resolution, aby uzyskać idealny cel renderowania – tak jak w przypadku standardowych silników gier.

Czas uruchomienia aplikacji

Użytkownicy chcą jak najszybciej wejść w interakcję z Twoją aplikacją lub grą. Definicja dobrego czasu uruchamiania lub wczytywania różni się w zależności od kategorii, ale ogólna zasada jest taka, że zalecamy zminimalizowanie czasu między uruchomieniem a pierwszą interakcją.

Poniżej znajdziesz docelowe czasy trwania:

  • Średni czas uruchomienia „na zimno”: mniej niż 2 sekundy.
  • Średni czas uruchomienia częściowo z pamięci: mniej niż 1 sekunda.

Więcej informacji znajdziesz w artykule Czas uruchamiania aplikacji.

Błędy ANR

Aplikacja nie ulega awarii ani nie blokuje wątku UI, co powoduje błędy ANR („Android nie odpowiada”).

W 99,5% sesji dziennych w Twojej aplikacji występuje mniej niż 1 błąd ANR.

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

Częstotliwość awarii

nie zużywają nadmiernie zasobów systemowych, co mogłoby mieć wpływ na resztę systemu i inne aplikacje, oraz utrzymują częstotliwość awarii na poziomie ok. 1%.

Android App Baseline (XR-differentiated)

Interfejs i wrażenia użytkownika

Podstawowy XR

Twoja aplikacja zawiera co najmniej 1 funkcję lub element treści związany z XR, który poprawia wrażenia użytkownika. Może to być orbiter, co najmniej 1 panel przestrzenny, środowiska lub obiekty 3D.

Panele przestrzenne

  • Umieść menu, zasoby i elementy sterujące w osobnym panelu lub orbiterze. Nie umieszczaj tych komponentów w głównym panelu edycji.
  • Jeśli chcesz wykonywać kilka zadań jednocześnie, używając paneli, utwórz osobne panele przestrzenne. Możesz na przykład utworzyć osobne panele przestrzenne dla okien czatu i list.

Środowiska

Podczas wyświetlania środowiska wirtualnego jasność może rozpraszać i męczyć. Aplikacja prezentuje bezpieczny zakres tonalny bez skoków jasności, które kolidują z interfejsem lub mogą powodować zmęczenie użytkownika. Interfejs jest czytelny we wszystkich kierunkach, zwłaszcza w środkowym poziomym pasie pola widzenia użytkownika. (Detailed guidelines to be linked in the future)

Motyw UI

Ustaw domyślnie ciemny motyw lub zachęcaj do jego używania. Aplikacje z jasnym motywem będą bardzo jasne, nie będą pasować do otoczenia użytkownika i będą szybciej rozładowywać baterię. W przypadku okularów XR zawsze wdrażaj ciemny motyw, ponieważ system domyślnie używa ciemnego motywu.

Przechodzenie między przestrzenią bazową (HSM) a pełną przestrzenią (FSM)

Gdy użytkownicy przechodzą do trybu pełnej przestrzeni, aplikacja ma punkt wejścia, który umożliwia im szybkie przełączanie się między trybem przestrzeni bazowej a trybem pełnej przestrzeni. Użyj ikony lub etykiety i umieść przycisk w łatwo dostępnym miejscu.

Przewijanie menu i listy

Aplikacja aktualizuje interakcje przewijania (zwłaszcza w przypadku karuzel lub list pionowych), aby uwzględniać fizykę lub pęd. Na przykład przewijanie uwzględnia pęd, co powoduje, że treści w karuzelach i na listach po interakcji użytkownika przez chwilę nadal się poruszają, a potem stopniowo się zatrzymują (zamiast zatrzymywać się dokładnie w momencie, gdy użytkownik przestaje wprowadzać dane).

Funkcje związane z filmami i multimediami

Interfejs i wrażenia użytkownika

Odtwarzacz dźwięku przestrzennego (tylko Android)

Aplikacja umożliwia użytkownikom oglądanie treści w pełnej przestrzeni.

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

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

Dźwięk przestrzenny

Rozważ obsługę dźwięku przestrzennego, w tym dźwięku zablokowanego w panelu lub dźwięku przestrzennego.

Jednoczesne oglądanie filmów

Jeśli aplikacja obsługuje kilka strumieni wideo jednocześnie, interfejs użytkownika wyraźnie informuje o tym, że:

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

Środowisko

Podczas odtwarzania treści wideo w trybie pełnej przestrzeni aplikacja umożliwia użytkownikom przyciemnienie obrazu z kamery (lub wybranie środowisk wirtualnych na obsługiwanych urządzeniach).

Zasady dotyczące aplikacji na Androida XR

Wszystkie aplikacje muszą spełniać wymagania określone w poniższych zasadach, aby promować bezpieczne i odpowiednie dla użytkowników środowisko na urządzeniach immersyjnych, takich jak gogle XR i przewodowe okulary XR.

Bezpieczeństwo aplikacji

Przypominamy, że wszystkie aplikacje rozpowszechniane w Google Play muszą być zgodne ze wszystkimi zasadami dla deweloperów w Google Play.

Te działania są surowo zabronione, a aplikacje nie mogą ich ułatwiać ani promować:

  • Doxing
  • rozpoznawanie twarzy lub identyfikacja biometryczna;
  • Nadzór
  • tworzenie lub rozpowszechnianie zdjęć o charakterze erotycznym uzyskanych, rozpowszechnianych i powielanych bez zgody osoby, którą przedstawiają;

W przypadku wszystkich aplikacji wymagane są te zabezpieczenia osób postronnych:

Bezpieczeństwo aparatu

Aplikacje, które mają dostęp do aparatu, muszą szanować prywatność osób postronnych i spełniać te wymagania:

Niedozwolone interakcje

Opis

Identyfikacja twarzy w czasie rzeczywistym i doxxing

Aplikacje nie mogą używać czujników aparatu do rozpoznawania twarzy w celu ujawniania informacji umożliwiających identyfikację osób postronnych. na przykład imiona i nazwiska, adresy domowe, numery telefonów lub nazwy pracodawców.

Generowanie zdjęć o charakterze erotycznym uzyskanych, rozpowszechnianych i powielanych bez zgody osoby, którą przedstawiają, lub treści niezgodnych z prawem

Aplikacje nie mogą używać czujników aparatu do ułatwiania tworzenia zdjęć o charakterze erotycznym uzyskiwanych, rozpowszechnianych i powielanych bez zgody osoby, którą przedstawiają, ani do generowania jakichkolwiek treści niezgodnych z prawem (np. materiałów związanych z wykorzystywaniem seksualnym dzieci).

Bezpieczeństwo dźwięku

Aplikacje korzystające z mikrofonu macierzowego powinny szanować prywatność osób postronnych i muszą spełniać te wymagania:

Niedozwolone interakcje

Opis

Ciągłe podsłuchiwanie

Aplikacje nie mogą stale nagrywać dźwięku ani tworzyć transkrypcji w tle, gdy użytkownik nie korzysta aktywnie z aplikacji w ramach zadania zainicjowanego przez użytkownika.

Identyfikacja mowy

Aplikacje nie mogą używać mikrofonu macierzowego do identyfikowania głosów osób, które nie noszą urządzenia, ani osób postronnych.

Zachowanie diod LED

Aplikacje nie mogą wykonywać tych czynności w odniesieniu do diod LED urządzenia skierowanych na użytkownika i na otoczenie:

Niedozwolone interakcje

Opis

Automatyczne pomijanie lub modyfikowanie

Aplikacje nie mogą zmieniać, przyciemniać ani wyłączać wymuszanego przez system działania diod LED skierowanych na świat i dla użytkownika, które są powiązane z dostępem do mikrofonu i kamery. Aplikacje nie mogą też zachęcać użytkowników do zmiany, przyciemniania lub wyłączania diod LED ani ich do tego nakłaniać.

Omijanie wykrywania prób udaremnienia i manipulacji

Aplikacje nie mogą omijać ani zakłócać działania algorytmów wykrywania przeszkód na urządzeniu, które mają na celu programowe zatrzymanie nagrywania, jeśli dioda LED skierowana na świat jest fizycznie zakryta lub uszkodzona. Nie mogą też zachęcać użytkowników do takich działań ani ich do nich kierować.


OpenXR™ i logo OpenXR są znakami towarowymi należącymi do firmy The Khronos Group Inc. i są zarejestrowane jako znaki towarowe w Chinach, Unii Europejskiej, Japonii i Wielkiej Brytanii.