Android XR: Pedoman dan Kebijakan Kualitas Aplikasi untuk pengalaman imersif

Perangkat XR yang kompatibel
Panduan ini membantu Anda membangun pengalaman untuk jenis perangkat XR ini.
Headset XR
Kacamata XR Berkabel

Pedoman kualitas aplikasi untuk pengalaman imersif memperluas standar seluler kualitas aplikasi inti dasar.

Pedoman kualitas dan kebijakan aplikasi ini berfokus pada interaksi dan kapabilitas spasial yang unik untuk platform Android XR di headset XR dan kacamata XR berkabel, seperti yang diuraikan dalam definisi tingkat kompatibilitas, checklist, dan Kebijakan Aplikasi Android XR. Tinjau bagian ini untuk memastikan bahwa aplikasi Anda memberikan pengalaman pengguna yang luar biasa di headset XR dan kacamata XR berkabel.

Pengalaman imersif: definisi tingkat kompatibilitas

Tinjau definisi tingkat kompatibilitas berikut untuk memahami tingkat dukungan yang diberikan aplikasi Anda untuk pengalaman imersif di headset XR dan kacamata XR berkabel.

Aplikasi seluler yang kompatibel dengan Android XR

Aplikasi seluler yang kompatibel dengan Android XR mewakili aplikasi seluler yang ada dan belum dimodifikasi untuk beradaptasi dengan perangkat 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 Android XR yang terdiferensiasi.

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 muncul sebagaimana mestinya. Aplikasi tidak berjalan dalam mode kompatibilitas, sehingga tidak memiliki tampilan lebar. Aplikasi memiliki pengalaman fungsional modalitas input inti yang disediakan oleh Android XR (pelacakan gerak mata + gestur atau tangan raycast) dan dukungan dasar untuk perangkat input eksternal, termasuk keyboard, mouse, trackpad, dan pengontrol game. Partisi ini mungkin dapat diubah ukurannya atau tidak.

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 Google Play Store.

Aplikasi adaptif yang kompatibel dengan Android XR

Aplikasi adaptif yang kompatibel dengan Android XR adalah aplikasi 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 memenuhi persyaratan ini jika aplikasi tersebut dioptimalkan untuk adaptif Tingkat 2 atau dibedakan untuk adaptif Tingkat 1 untuk desktop, tablet, atau perangkat foldable.

Aplikasi adaptif yang kompatibel dengan Android XR akan otomatis diikutsertakan dan tersedia di Google Play Store.

Aplikasi Android XR yang berbeda

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

Anda dapat menggunakan Jetpack XR SDK untuk menyediakan kemampuan khusus XR seperti:

  • Panel spasial
  • Lingkungan
  • Model 3D
  • Audio spasial
  • Video dan foto 3D atau spasial
  • Anchor
  • UI spasial lainnya seperti orbiter

Agar dapat dianggap sebagai aplikasi Android XR yang berbeda, aplikasi harus menerapkan setidaknya satu fitur khusus XR atau bagian konten khusus XR. Untuk kasus penggunaan tertentu, mungkin ada lebih banyak persyaratan fitur dan konten. Lihat detailnya di bagian berikutnya.

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

Membantu pengguna menemukan aplikasi Anda di Google Play Store dengan badge

Aplikasi yang terdiferensiasi Android XR otomatis mendapatkan badge "Dibuat untuk XR" di Google Play Store untuk membantu pengguna menemukan pengalaman XR berkualitas tinggi.

Pengalaman imersif: checklist kompatibilitas

Untuk memastikan aplikasi Anda memberikan pengalaman pengguna yang baik di headset XR dan kacamata XR berkabel, tinjau checklist dan pengujian kompatibilitas berikut.

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

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 adaptif yang kompatibel dengan Android XR

Aplikasi apa pun yang dioptimalkan adaptif Tingkat 2 atau dibedakan adaptif Tingkat 1 untuk desktop, tablet, atau perangkat foldable juga dianggap sebagai aplikasi adaptif yang kompatibel dengan Android XR. Pedoman kualitas aplikasi adaptif menawarkan pendekatan terstruktur untuk memastikan pengalaman yang luar biasa di Android XR, tetapi pertimbangan status perangkat seperti rotasi atau melipat/membentangkan tidak diperlukan.

Aplikasi yang dibedakan 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 kualitas aplikasi adaptif. Lihat persyaratan yang sesuai untuk aplikasi Anda.

Anda juga harus mengikuti panduan dalam mendesain aplikasi yang dibedakan XR untuk mendapatkan pengalaman pengguna terbaik.

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 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 strobo dalam aplikasi Anda.

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

1. Jika efek strobo benar-benar diperlukan, pastikan kecepatan kedipan sangat rendah (di bawah 3 kedipan per detik) dan area kedipan kecil serta tidak mencolok.

2. Sebaiknya berikan kemampuan untuk menonaktifkannya melalui setelan atau preferensi.

3. Tampilkan pesan peringatan yang jelas sebelum strobo terjadi.

Menghindari mabuk perjalanan

Ikuti panduan berikut untuk menghindari 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 seiring waktu. Jika arah kamera berubah, kamera akan menyesuaikan dengan orientasi baru.

Lebih redup

Hormati setelan peredup yang ditetapkan pengguna untuk mencegah bahaya keselamatan. Anda dapat menyesuaikan peredup untuk pengalaman yang optimal bagi aplikasi Anda, tetapi pengguna dapat menggantinya secara manual kapan saja.

Input

Ukuran target interaksi

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

  • Ukuran minimum: JarakDalamM x 0,868 x 48 = M
  • Ukuran yang direkomendasikan: JarakDalamM 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 penggunaannya jika Anda memilih untuk melakukannya.

Batas

Jika aplikasi Anda terutama berfokus pada dunia nyata (currentPassthroughOpacity ditetapkan ke nilai yang lebih besar dari 0,5), pengguna dapat secara aktif berjalan di lingkungan dunia nyata mereka. Pastikan ruang pandang tengah bebas dari elemen yang padat dan buram untuk mencegah bahaya tersandung atau ketidaksadaran situasional.

Jika aplikasi Anda terutama berfokus pada dunia virtual (currentPassthroughOpacity ditetapkan ke nilai kurang dari 0,5) dan bukan pengalaman stasioner, sebaiknya pertimbangkan untuk mendeklarasikan batas besar dalam manifes menggunakan PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE.

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

Kacamata XR: Tidak ada batas pada perangkat kacamata XR.

Performa

Rendering

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

Resolusi

OpenXR & Engine: Buat kueri XR_ANDROID_recommended_resolution untuk mendapatkan target rendering yang ideal—seperti yang dilakukan game engine standar.

Waktu mulai 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 target durasi di bawah:

  • Cold start rata-rata: Kurang dari 2 detik
  • Warm start rata-rata: Kurang dari 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 Tidak Merespons").

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 Google Play.

Rasio error

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

Android App Baseline (XR-differentiated)

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

  • Tempatkan menu, aset, dan kontrol di panel atau orbiter khusus. Jangan sertakan komponen ini di panel pengeditan utama.
  • 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 di semua arah, terutama dalam rentang horizontal tengah pandangan pengguna. (Pedoman mendetail akan ditautkan pada masa mendatang)

Tema UI

Gunakan tema gelap secara default atau sangat disarankan; aplikasi dengan tema terang akan terlihat sangat terang, gagal berintegrasi ke dalam lingkungan pengguna, dan menguras baterai lebih cepat. Untuk kacamata XR, selalu terapkan tema gelap karena sistem menggunakan tema gelap secara default.

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

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

Men-scroll menu & daftar

Aplikasi Anda memperbarui interaksi scroll (terutama melalui carousel atau daftar vertikal) agar memiliki fisika atau momentum. Misalnya, scroll menyertakan 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

Pemutar spasial (khusus Android)

Aplikasi Anda memungkinkan pengguna menonton konten dalam Ruang Penuh.

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

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

Audio spasial

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

Menonton video secara bersamaan

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

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

Lingkungan

Saat memutar konten video dalam Ruang Penuh, aplikasi Anda memungkinkan pengguna meredupkan passthrough (atau memilih lingkungan virtual di perangkat yang didukung).

Kebijakan Aplikasi Android XR

Semua aplikasi harus mematuhi persyaratan dalam kebijakan berikut untuk mendukung pengalaman pengguna yang aman dan layak di perangkat imersif seperti headset XR dan kacamata XR berkabel.

Keamanan aplikasi

Sebagai pengingat, semua aplikasi yang didistribusikan melalui Google Play harus mematuhi semua Kebijakan Developer Google Play.

Aktivitas berikut sangat dilarang, dan aplikasi tidak boleh memfasilitasi atau mempromosikan aktivitas ini:

  • Penyebaran informasi pribadi
  • Pengenalan wajah atau identifikasi biometrik
  • Pengawasan
  • Pembuatan atau penyebaran Penggambaran Adegan Intim Non-Konsensual (NCII)

Perlindungan pengamat berikut diperlukan untuk semua aplikasi:

Keamanan kamera

Aplikasi yang mengakses kamera harus menghormati privasi orang di sekitar dan harus mematuhi hal berikut:

Interaksi yang dilarang

Deskripsi

Identifikasi wajah & doxxing real-time

Aplikasi tidak boleh menggunakan sensor kamera untuk menjalankan identifikasi wajah guna menampilkan Informasi Identitas Pribadi (PII) orang di sekitar. Misalnya: nama, alamat rumah, nomor telepon, atau perusahaan tempat mereka bekerja.

Pembuatan konten ilegal atau penggambaran adegan intim non-konsensual (NCII)

Aplikasi tidak boleh menggunakan sensor kamera untuk memfasilitasi pembuatan penggambaran adegan intim non-konsensual (NCII) atau pembuatan konten ilegal apa pun (misalnya, CSAM).

Keamanan audio

Aplikasi yang menggunakan susunan mikrofon harus menghormati privasi orang di sekitar dan harus mematuhi hal berikut:

Interaksi yang dilarang

Deskripsi

Penyadapan persisten

Aplikasi tidak boleh mempertahankan perekaman atau transkripsi audio latar belakang yang persisten saat pengguna tidak secara aktif berinteraksi dengan aplikasi dalam tugas yang dimulai pengguna.

Identifikasi ucapan

Aplikasi tidak boleh menggunakan susunan mikrofon untuk mengidentifikasi suara orang yang tidak memakai perangkat atau orang di sekitar.

Perilaku LED

Aplikasi tidak boleh melakukan hal berikut sehubungan dengan LED yang menghadap ke pengguna dan dunia pada perangkat:

Interaksi yang dilarang

Deskripsi

Penghapusan atau modifikasi terprogram

Aplikasi tidak boleh mengubah, meredupkan, atau menonaktifkan perilaku LED yang menghadap ke dunia dan LED yang ditampilkan kepada pengguna yang diterapkan sistem berdasarkan akses mikrofon dan kamera. Aplikasi juga tidak boleh mendorong atau mengarahkan pengguna untuk mengubah, meredupkan, atau menonaktifkan perilaku LED.

Mengabaikan deteksi gangguan dan perusakan

Aplikasi tidak boleh mengabaikan atau mengganggu, atau mendorong atau mengarahkan pengguna untuk melakukannya, algoritma deteksi penghalang perangkat, yang dirancang untuk menghentikan perekaman secara terprogram jika LED yang menghadap ke dunia tertutup atau rusak secara fisik.


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.