Pedoman kualitas aplikasi Android XR

Definisi tingkat kompatibilitas

Untuk memastikan aplikasi Anda memberikan pengalaman pengguna yang baik di perangkat Android XR, tinjau checklist dan pengujian kompatibilitas berikut.

Checklist dan pengujian menentukan serangkaian persyaratan kualitas yang komprehensif untuk sebagian besar jenis aplikasi Android.

Aplikasi seluler yang kompatibel dengan Android XR

Aplikasi seluler yang kompatibel dengan Android XR adalah aplikasi seluler yang sudah ada dan belum dimodifikasi agar dapat beradaptasi dengan layar besar atau faktor bentuk lainnya. Jenis aplikasi ini otomatis kompatibel dengan Android XR selama tidak memerlukan fitur yang tidak didukung, seperti telepon. Pengguna dapat menyelesaikan alur tugas penting, tetapi dengan pengalaman pengguna yang kurang optimal dibandingkan dengan aplikasi terdiferensiasi Android XR.

Jenis aplikasi ini berjalan dalam layar penuh di panel dalam lingkungan pengguna, tetapi tata letaknya mungkin tidak ideal pada ukuran yang lebih besar. Aplikasi yang menentukan ukuran ringkas dalam manifes akan ditampilkan dengan tepat. Aplikasi tidak berjalan dalam mode kompatibilitas dan oleh karena itu tidak memiliki tampilan lebar. Aplikasi memiliki pengalaman fungsionalitas input inti yang disediakan oleh Android XR (pelacakan mata + gestur atau tangan raycast) dan dukungan dasar untuk perangkat input eksternal, termasuk keyboard, mouse, trackpad, dan pengontrol game. Objek ini mungkin dapat diubah ukurannya atau tidak.

Aplikasi seluler yang kompatibel dengan Android XR akan otomatis diikutsertakan dan tersedia di Google Play Store. Aplikasi yang tidak kompatibel karena persyaratan fitur yang tidak didukung tidak dapat diinstal melalui Play Store.

Aplikasi layar besar yang kompatibel dengan Android XR

Aplikasi layar besar yang kompatibel dengan Android XR adalah aplikasi Tingkat 1 atau Tingkat 2 layar besar yang telah menerapkan pengoptimalan tata letak untuk semua ukuran layar dan konfigurasi perangkat (misalnya, layar besar selain perangkat seluler), beserta dukungan yang ditingkatkan untuk perangkat input eksternal dan multitasking. Aplikasi layar besar yang kompatibel dengan Android XR akan otomatis diikutsertakan dan tersedia di Play Store.

Aplikasi layar besar yang kompatibel dengan Android XR berjalan dalam layar penuh di panel spasial dalam lingkungan pengguna pada 1024 dp × 720 dp. Pengguna akan dapat berinteraksi dengan aplikasi secara alami menggunakan mata dan tangan mereka, tetapi akan sangat mirip dengan aplikasi layar besar.

Aplikasi yang berbeda untuk Android XR

Aplikasi yang terdiferensiasi Android XR memiliki pengalaman pengguna yang dirancang secara eksplisit untuk XR dan mengimplementasikan fitur yang hanya ditawarkan di XR. Anda dapat memanfaatkan sepenuhnya kemampuan Android XR dan membedakan pengalaman aplikasi Anda dengan menambahkan fitur XR (misalnya, panel spasial), menambahkan konten XR (misalnya, video 3D) ke aplikasi Anda dengan mengembangkan menggunakan Android Jetpack XR SDK, Unity, atau OpenXR.

Anda dapat menggunakan Jetpack XR SDK untuk menyediakan kemampuan khusus XR, termasuk panel spasial, lingkungan, model 3D, audio spasial, video / foto 3D / spasial, penahan, dan UI spasial lainnya seperti pengorbit.

Agar dapat dianggap sebagai aplikasi yang berbeda untuk Android XR, aplikasi harus menerapkan setidaknya satu fitur khusus XR atau konten khusus XR. Untuk kasus penggunaan tertentu, mungkin ada lebih banyak persyaratan fitur dan konten. Baca detail di bawah.

Semua aplikasi yang dibuat dengan Unity atau OpenXR dianggap berbeda. Aplikasi yang dibangun dengan Unity atau OpenXR harus memenuhi metrik kualitas dan persyaratan minimum agar dianggap sebagai aplikasi yang berbeda untuk Android XR. Misalnya, aplikasi dengan kecepatan frame rendah, error, atau pengalaman pengguna negatif lainnya tidak akan memenuhi syarat.

Daftar periksa kompatibilitas Android XR

Checklist kompatibilitas ini menentukan kriteria untuk membantu Anda menilai tingkat dukungan aplikasi Anda untuk XR. Tingkat dukungan meliputi:

Aplikasi seluler yang kompatibel dengan Android XR

Aplikasi Anda harus memenuhi persyaratan kualitas aplikasi inti.

Aplikasi Anda juga harus mematuhi semua pedoman aksesibilitas yang berlaku untuk faktor bentuk lain seperti ponsel dan tablet (misalnya, kontras warna).

Aplikasi layar besar yang kompatibel dengan Android XR

Aplikasi layar besar Tingkat 1 atau Tingkat 2 dianggap sebagai aplikasi layar besar yang kompatibel dengan Android XR. Pedoman kualitas aplikasi layar besar menawarkan pendekatan terstruktur untuk memastikan pengalaman yang luar biasa di Android XR, tetapi pertimbangan status perangkat seperti rotasi atau pelipatan/pembukaan tidak diperlukan. Demikian pula, Android XR tidak menyertakan dukungan stilus.

Aplikasi yang dibedakan untuk Android XR

Karena aplikasi yang dibedakan untuk Android XR sangat terdiferensiasi, beberapa kemampuan yang tercantum hanya berlaku untuk jenis aplikasi tertentu. Pilih kemampuan yang sesuai untuk aplikasi Anda. Aplikasi Android juga harus mematuhi Pedoman Android untuk perangkat layar besar / seluler. Lihat persyaratan yang sesuai untuk aplikasi Anda (beberapa di antaranya juga dapat menjadi potensi pembaruan kebijakan).

Jenis Aplikasi / Kasus Penggunaan

Kategori

Area

Panduan

Persyaratan Dasar Umum (Android & OpenXR)

Privasi & keamanan

Login akun (UX pertama kali)

Jika aplikasi Anda menggunakan sistem login, tampilkan kredensial login pengguna (misalnya, kredensial nama pengguna) dengan jelas setelah autentikasi berhasil. Hal ini akan menumbuhkan kepercayaan dengan mengonfirmasi akun yang aktif. Selain itu, sertakan menu atau halaman setelan yang mudah diakses yang memungkinkan pengguna melihat dan mengelola informasi akun mereka kapan saja.

Keselamatan dan Kenyamanan

Strobing

Untuk memastikan keselamatan dan kesejahteraan semua pengguna, Anda harus meminimalkan risiko efek strobo dalam aplikasi Anda.

Hindari memasukkan elemen desain apa pun secara sengaja yang dapat menyebabkan efek strobo.

1. Jika efek menyala-nyala benar-benar diperlukan, pastikan kecepatan berkedip sangat rendah (di bawah 3 kedipan per detik) dan area berkedip kecil dan halus.

2. Pertimbangkan untuk memberikan kemampuan menonaktifkannya melalui setelan atau preferensi.

3. Menampilkan pesan peringatan yang jelas sebelum terjadinya efek strobo.

Menghindari mabuk perjalanan

Ikuti panduan berikut untuk menghindari menyebabkan mabuk perjalanan pada pengguna:

  • Prioritaskan kenyamanan visual dengan menghindari gerakan kamera yang tiba-tiba. Pertahankan kerangka referensi yang konsisten untuk menghindari disorientasi pengguna.
  • Jangan memutar kamera dari waktu ke waktu. Jika arah kamera berubah, kamera akan menyesuaikan ke orientasi baru.

Input

Ukuran target interaksi

Target yang dapat berinteraksi memiliki ukuran minimum dan ukuran yang direkomendasikan berdasarkan jarak interaksi yang dimaksudkan:

  • Ukuran minimum: DistanceInM x 0,868 x 48 = M
  • Ukuran yang direkomendasikan: DistanceInM x 0,868 x 56 = M atau lebih besar

Saat menggunakan Jetpack XR SDK, sebaiknya gunakan ukuran minimum 48 x 48 dp, dengan ukuran target ketuk yang direkomendasikan 56 x 56 dp atau lebih besar.

Fungsi Teknis XR

Input tangan

Aplikasi Anda mendukung input tangan alami sebagai metode interaksi dasar untuk Android XR, termasuk persyaratan raycast tangan dan dukungan gestur untuk primitif input.

Aplikasi Anda dapat dimainkan atau digunakan tanpa memerlukan pengontrol, tetapi dapat ditingkatkan dengan penggunaan pengontrol jika Anda memilih untuk melakukannya.

Boundary (sebelumnya Guardian)

Jika aplikasi Anda mengharapkan pengguna bergerak dari titik awal mereka (saat peluncuran aplikasi) di sekitar ruang fisik mereka, aplikasi akan meminta teruskan atau mendeklarasikan PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE dalam manifes.

Jika aplikasi Anda menggunakan XR_BOUNDARY_TYPE_LARGE, aplikasi dapat dimainkan sepenuhnya tanpa menampilkan batas (dalam radius 2,0 m; perhatikan, penerusan batas mulai muncul secara bertahap pada radius 1,5 m).

Performa

Rendering

Aplikasi Anda merender setiap frame antara <11,1 md (90 Hz), dan <13,8 md (72 Hz).

Resolusi

Aplikasi Anda memiliki resolusi minimal 1856 x 2160 per mata.

Waktu startup aplikasi

Pengguna ingin dapat berinteraksi dengan aplikasi atau game Anda secepat mungkin. Definisi waktu mulai atau pemuatan yang baik bervariasi menurut kategori, tetapi sebagai prinsip umum, sebaiknya minimalkan waktu antara peluncuran dan interaksi pertama.

Lihat durasi target di bawah:

  • Start cold rata-rata: Di bawah 2 detik
  • Start warm rata-rata: Di bawah 1 detik

Untuk mengetahui detail selengkapnya, lihat Waktu startup aplikasi.

ANR

Aplikasi Anda tidak mengalami error atau memblokir UI thread yang menyebabkan error ANR ("Android Not Responding").

Aplikasi Anda memiliki <1 ANR dalam 99,5% sesi harian.

Aplikasi Anda menggunakan laporan pra-peluncuran Google Play untuk mengidentifikasi potensi masalah stabilitas. Setelah deployment, perhatikan halaman Android Vitals di konsol developer Google Play.

Rasio Error

Jangan menggunakan resource sistem secara berlebihan yang memengaruhi sistem lainnya dan aplikasi lain, dengan mempertahankan rasio error sekitar 1%.

Dasar Aplikasi Android (berbeda dengan XR)

Visual & Pengalaman pengguna

XR Dasar

Aplikasi Anda menerapkan setidaknya satu fitur khusus XR atau konten khusus XR untuk meningkatkan pengalaman pengguna. Hal ini dapat mencakup orbiter, satu atau beberapa panel spasial, lingkungan, atau objek 3D.

Panel Spasial

Saat melakukan multitasking (yaitu, menyelesaikan dua tugas atau lebih sekaligus) dengan panel, buat panel spasial terpisah. Misalnya, Anda akan membuat panel spasial terpisah untuk jendela chat dan daftar.

Lingkungan

Saat menampilkan lingkungan virtual, kecerahan dapat mengganggu dan melelahkan. Aplikasi Anda menampilkan rentang tonal yang aman tanpa lonjakan kecerahan yang bertentangan dengan UI atau dapat menyebabkan kelelahan pengguna. UI dapat dibaca ke segala arah, terutama dalam rentang horizontal tengah tatapan pengguna. (Pedoman mendetail akan ditautkan pada masa mendatang)

Beralih antara Ruang Utama (HSM) dan Ruang Penuh (FSM)

Saat mengarahkan pengguna ke Ruang Penuh, aplikasi Anda memiliki titik entri bagi pengguna untuk bertransisi dengan cepat antara Ruang Utama dan Ruang Penuh. Gunakan ikon atau label, dan tempatkan tombol di lokasi yang mudah diakses.

Panel Spasial

Tempatkan menu, aset, dan kontrol di panel atau orbiter khusus. Jangan sertakan komponen ini di panel pengeditan utama.

Scrolling Menu / Daftar

Aplikasi Anda memperbarui interaksi scroll (terutama melalui carousel atau daftar vertikal) agar memiliki fisika atau momentum. Misalnya, scrolling menggabungkan momentum, sehingga konten dalam carousel dan daftar terus bergerak sebentar setelah interaksi pengguna sebelum berhenti secara bertahap (bukan berhenti tepat saat pengguna menghentikan input).

Fungsi Video / Media

Visual & Pengalaman pengguna

Spatial Player (khusus Android)

Aplikasi Anda memungkinkan pengguna menonton konten di Ruang Penuh.

Menghapus kontrol pemutaran dari overlay di atas konten dan menempatkannya di panel atau orbiter khusus.

Untuk panel dengan pemutaran video, setel rasio aspek untuk menghapus letter boxing.

Audio Spasial

Pertimbangkan untuk mendukung audio spasial, termasuk audio yang terkunci di panel atau suara surround.

Menonton Video Secara Bersamaan

Jika aplikasi Anda mendukung beberapa streaming video simultan, antarmuka pengguna akan memperjelas informasi berikut:

  • Streaming video mana yang menyediakan output audio
  • Kontrol pemutaran mana yang memengaruhi aliran video mana

Lingkungan

Saat memutar ulang konten di Ruang Penuh, aplikasi Anda memungkinkan pengguna meredupkan passthrough atau memilih lingkungan virtual.


OpenXR™ dan logo OpenXR adalah merek dagang yang dimiliki oleh The Khronos Group Inc. dan terdaftar sebagai merek dagang di China, Uni Eropa, Jepang, dan Inggris Raya.