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 mewakili aplikasi seluler yang ada yang belum dimodifikasi untuk beradaptasi dengan perangkat layar besar atau faktor bentuk lainnya. Jenis aplikasi ini otomatis kompatibel dengan Android XR selama tidak memerlukan fitur apa pun yang tidak didukung, seperti telepon. Pengguna dapat menyelesaikan alur tugas penting, tetapi dengan pengalaman pengguna yang kurang optimal dibandingkan aplikasi yang terdiferensiasi Android XR.

Jenis aplikasi ini berjalan dalam layar penuh pada panel di lingkungan pengguna, tetapi tata letaknya mungkin tidak ideal pada ukuran yang lebih besar. Aplikasi yang menentukan ukuran ringkas dalam manifes akan muncul sebagaimana mestinya. Aplikasi tidak berjalan dalam mode kompatibilitas sehingga tidak memiliki tampilan lebar. Aplikasi ini memiliki pengalaman fungsional dari modalitas input inti yang disediakan oleh Android XR (pelacakan gerakan mata + gestur atau tangan raycast) dan dukungan dasar untuk perangkat input eksternal, termasuk keyboard, mouse, trackpad, dan pengontrol game. File tersebut mungkin dapat atau tidak dapat diubah ukurannya.

Aplikasi seluler yang kompatibel dengan Android XR 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 perangkat layar besar yang kompatibel dengan Android XR

Aplikasi layar besar yang kompatibel dengan Android XR mewakili aplikasi layar besar Tingkat 1 atau Tingkat 2 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 di lingkungan pengguna pada 1024dp × 720dp. Pengguna akan dapat berinteraksi dengan aplikasi secara alami menggunakan mata dan tangan mereka, tetapi akan sangat mirip dengan aplikasi layar besar.

Aplikasi yang dibedakan Android XR

Aplikasi yang terdiferensiasi untuk Android XR memiliki pengalaman pengguna yang dirancang secara eksplisit untuk XR dan menerapkan fitur yang hanya ditawarkan di XR. Anda dapat memanfaatkan sepenuhnya kemampuan Android XR dan membedakan pengalaman aplikasi dengan menambahkan fitur XR (misalnya panel spasial), menambahkan konten XR (misalnya video 3D) ke aplikasi dengan mengembangkan dengan 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, anchor, dan UI spasial lainnya seperti orbiter.

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

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

Checklist kompatibilitas Android XR

Checklist kompatibilitas ini menentukan kriteria untuk membantu Anda menilai tingkat dukungan yang diberikan 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 lainnya seperti ponsel dan tablet (misalnya, kontras warna).

Aplikasi perangkat layar besar yang kompatibel dengan Android XR

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

Aplikasi yang dibeda-bedakan untuk Android XR

Karena aplikasi yang terdiferensiasi 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 perangkat layar besar / seluler. Lihat persyaratan yang sesuai untuk aplikasi Anda (beberapa di antaranya mungkin juga menjadi potensi pembaruan kebijakan).

Jenis Aplikasi / Kasus Penggunaan

Kategori

Area

Panduan

Persyaratan Dasar Pengukuran Umum (Android & OpenXR)

Privasi & keamanan

Login akun (UX pertama kali)

Jika aplikasi Anda menggunakan sistem login, tampilkan kredensial login pengguna dengan jelas (misalnya, kredensial nama pengguna) setelah autentikasi berhasil. Hal ini akan meningkatkan 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.

Keamanan dan Kenyamanan

Strobing

Untuk memastikan keamanan dan kesehatan semua pengguna, penting untuk meminimalkan risiko efek strobing dalam aplikasi Anda.

Hindari secara sengaja menggabungkan elemen desain apa pun yang dapat menyebabkan strobing.

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

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

3. Menampilkan pesan peringatan yang jelas sebelum strobing terjadi.

Menghindari mabuk perjalanan

Ikuti panduan berikut untuk menghindari mabuk perjalanan pada pengguna:

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

Input

Ukuran target interaksi

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

  • Ukuran minimum: DistanceInM x 0,868 x 48 = M
  • Ukuran yang disarankan: 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 untuk berpindah dari titik awal (saat peluncuran aplikasi) di sekitar ruang fisik mereka, aplikasi akan meminta passthrough atau mendeklarasikan PROPERTY_ACTIVITY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE dalam manifes.

Jika aplikasi Anda menggunakan XR_BOUNDARY_TYPE_LARGE, aplikasi tersebut dapat diputar sepenuhnya tanpa batas yang ditampilkan (dalam radius 2,0 m; perhatikan, passthrough batas mulai memudar pada radius 1,5 m).

Performa

Rendering

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

Penyelesaian

Aplikasi Anda memiliki resolusi minimal 2364 x 2880 per mata.

Waktu startup aplikasi

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

Lihat durasi target di bawah:

  • Rata-rata cold start: Di bawah 2 detik
  • Rata-rata warm start: 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 seluruh sistem dan aplikasi lain, dengan mempertahankan rasio error sekitar 1%.

Baseline Aplikasi Android (diferensiasi XR)

Pengalaman Visual & Pengguna

XR Dasar

Aplikasi Anda menerapkan setidaknya satu fitur khusus XR atau bagian konten khusus XR untuk meningkatkan pengalaman pengguna. 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 dan daftar chat.

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 dari semua arah, terutama dalam band horizontal tengah dari pandangan pengguna. (Pedoman mendetail akan ditautkan pada masa mendatang)

Bertransisi antara Ruang Rumah (HSM) dan Ruang Penuh (FSM)

Saat mengarahkan pengguna ke Ruang Penuh, aplikasi Anda memiliki titik entri bagi pengguna untuk bertransisi dengan cepat antara Ruang Beranda 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.

Scroll Menu / Daftar

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

Fungsi Video / Media

Pengalaman Visual & Pengguna

Pemutar Spasial (khusus Android)

Aplikasi Anda memungkinkan pengguna menonton konten dalam Ruang Penuh.

Hapus kontrol pemutaran dari overlay di atas konten, lalu tempatkan di panel atau orbiter khusus.

Untuk panel dengan pemutaran video, tetapkan rasio aspek untuk menghapus letterboxing.

Audio Spasial

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

Menonton Video Secara Serentak

Jika aplikasi Anda mendukung beberapa streaming video secara bersamaan, antarmuka pengguna akan menjelaskan informasi berikut:

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

Lingkungan

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