Nguyên tắc về chất lượng ứng dụng Android XR

Định nghĩa về cấp độ tương thích

Để đảm bảo ứng dụng của bạn mang lại trải nghiệm chất lượng cao cho người dùng trên thiết bị Android XR, vui lòng xem xét các danh sách kiểm tra và bài kiểm thử khả năng tương thích sau đây.

Các danh sách kiểm tra và bài kiểm thử này đưa ra một bộ yêu cầu toàn diện về chất lượng cho hầu hết các loại ứng dụng Android.

Ứng dụng di động tương thích với Android XR

Ứng dụng di động tương thích với Android XR là một ứng dụng di động hiện có chưa được sửa đổi để thích ứng với màn hình lớn hoặc bất kỳ hệ số hình dạng nào khác. Loại ứng dụng này tự động tương thích với Android XR miễn là ứng dụng đó không yêu cầu bất kỳ tính năng nào không được hỗ trợ, chẳng hạn như điện thoại. Người dùng có thể hoàn tất các quy trình tác vụ quan trọng nhưng trải nghiệm người dùng sẽ kém tối ưu hơn so với ứng dụng dành riêng cho Android XR.

Loại ứng dụng này chạy ở chế độ toàn màn hình trên một bảng điều khiển trong môi trường của người dùng, nhưng bố cục có thể không lý tưởng ở kích thước lớn hơn. Những ứng dụng chỉ định kích thước nhỏ gọn trong tệp kê khai sẽ xuất hiện tương ứng. Ứng dụng không chạy ở chế độ tương thích và do đó không có khung viền hòm thư. Ứng dụng có trải nghiệm chức năng về các phương thức nhập liệu chính do Android XR cung cấp (theo dõi mắt + cử chỉ hoặc tay truyền tia) và hỗ trợ cơ bản cho các thiết bị đầu vào bên ngoài, bao gồm cả bàn phím, chuột, bàn di chuột và bộ điều khiển trò chơi. Có thể hoặc không thể đổi kích thước.

Các ứng dụng di động tương thích với Android XR sẽ tự động được chọn tham gia và có trên Cửa hàng Google Play. Bạn không thể cài đặt một ứng dụng không tương thích do yêu cầu về tính năng không được hỗ trợ thông qua Cửa hàng Play.

Ứng dụng màn hình lớn tương thích với Android XR

Ứng dụng màn hình lớn tương thích với Android XR là ứng dụng màn hình lớn Cấp 1 hoặc Cấp 2 đã triển khai chế độ tối ưu hoá bố cục cho tất cả kích thước màn hình và cấu hình thiết bị (ví dụ: màn hình lớn ngoài thiết bị di động), cùng với khả năng hỗ trợ nâng cao cho các thiết bị đầu vào bên ngoài và khả năng đa nhiệm. Các ứng dụng màn hình lớn tương thích với Android XR sẽ tự động được chọn tham gia và có trên Cửa hàng Play.

Một ứng dụng màn hình lớn tương thích với Android XR chạy ở chế độ toàn màn hình trên một bảng điều khiển không gian trong môi trường của người dùng ở kích thước 1024 dp × 720 dp. Người dùng sẽ có thể tương tác với ứng dụng một cách tự nhiên bằng mắt và tay, nhưng nếu không, ứng dụng này sẽ rất giống với ứng dụng màn hình lớn.

Ứng dụng Android XR khác biệt

Ứng dụng có tính năng đặc trưng trên Android XR có trải nghiệm người dùng được thiết kế riêng cho XR và triển khai các tính năng chỉ có trên XR. Bạn có thể tận dụng tối đa các chức năng của Android XR và tạo sự khác biệt cho trải nghiệm của ứng dụng bằng cách thêm các tính năng XR (ví dụ: bảng điều khiển không gian), thêm nội dung XR (ví dụ: video 3D) vào ứng dụng bằng cách phát triển bằng Android Jetpack XR SDK, Unity hoặc OpenXR.

Bạn có thể dùng Jetpack XR SDK để cung cấp các chức năng dành riêng cho XR, bao gồm bảng điều khiển không gian, môi trường, mô hình 3D, âm thanh không gian, video / ảnh 3D / không gian, điểm neo và giao diện người dùng không gian khác, chẳng hạn như orbiter.

Để được coi là một ứng dụng dành riêng cho Android XR, ứng dụng phải triển khai ít nhất một tính năng dành riêng cho XR hoặc một phần nội dung dành riêng cho XR. Đối với một số trường hợp sử dụng nhất định, có thể có thêm các yêu cầu về tính năng và nội dung. Xem chi tiết bên dưới.

Tất cả ứng dụng được tạo bằng Unity hoặc OpenXR đều được coi là khác biệt. Các ứng dụng được tạo bằng Unity hoặc OpenXR phải đáp ứng các chỉ số chất lượng và yêu cầu tối thiểu để được coi là ứng dụng có điểm khác biệt trên Android XR. Ví dụ: một ứng dụng có tốc độ khung hình thấp, gặp sự cố hoặc có trải nghiệm tiêu cực khác cho người dùng sẽ không đủ điều kiện.

Danh sách kiểm tra khả năng tương thích của Android XR

Các danh sách kiểm tra khả năng tương thích này trình bày các tiêu chí giúp bạn đánh giá mức độ hỗ trợ của ứng dụng dành cho XR. Sau đây là các cấp độ hỗ trợ:

Ứng dụng di động tương thích với Android XR

Ứng dụng của bạn phải đáp ứng các yêu cầu về chất lượng cốt lõi của ứng dụng.

Ứng dụng của bạn cũng phải tuân thủ tất cả nguyên tắc hỗ trợ tiếp cận hiện hành đối với các kiểu dáng khác như điện thoại và máy tính bảng (ví dụ: độ tương phản màu sắc).

Ứng dụng màn hình lớn tương thích với Android XR

Mọi ứng dụng Cấp 1 hoặc Cấp 2 cho màn hình lớn đều được coi là ứng dụng màn hình lớn tương thích với Android XR. Nguyên tắc về chất lượng ứng dụng cho màn hình lớn đưa ra một phương pháp có cấu trúc để đảm bảo trải nghiệm tuyệt vời trên Android XR, nhưng không bắt buộc phải cân nhắc trạng thái thiết bị, chẳng hạn như xoay hoặc gập/mở. Tương tự, Android XR không hỗ trợ bút cảm ứng.

Ứng dụng có sự khác biệt trên Android XR

Vì các ứng dụng có sự khác biệt trên Android XR có tính đặc trưng cao, nên một số chức năng được liệt kê sau đây chỉ áp dụng với một số loại ứng dụng. Chọn những chức năng phù hợp với ứng dụng của bạn. Ứng dụng Android cũng phải tuân thủ Nguyên tắc về màn hình lớn / thiết bị di động Android. Xem các yêu cầu phù hợp với ứng dụng của bạn (một số yêu cầu này cũng có thể trở thành nội dung cập nhật chính sách tiềm năng).

Loại ứng dụng / Trường hợp sử dụng

Danh mục

Khía cạnh

Hướng dẫn

Yêu cầu chung về đường cơ sở (Android và OpenXR)

Quyền riêng tư và bảo mật

Đăng nhập vào tài khoản (trải nghiệm người dùng lần đầu)

Nếu ứng dụng của bạn sử dụng một hệ thống đăng nhập, hãy trình bày rõ ràng thông tin đăng nhập của người dùng (ví dụ: thông tin đăng nhập tên người dùng) sau khi xác thực thành công. Điều này giúp tạo dựng niềm tin bằng cách xác nhận tài khoản đang hoạt động. Ngoài ra, hãy tích hợp một trình đơn hoặc trang cài đặt dễ truy cập để người dùng có thể xem và quản lý thông tin tài khoản của họ bất cứ lúc nào.

An toàn và thoải mái

Nháy liên tục

Để đảm bảo an toàn và sức khoẻ cho tất cả người dùng, bạn cần giảm thiểu nguy cơ xuất hiện hiệu ứng nhấp nháy trong ứng dụng của mình.

Tránh cố ý kết hợp bất kỳ thành phần thiết kế nào có thể gây ra hiệu ứng nhấp nháy.

1. Nếu hiệu ứng nhấp nháy là hoàn toàn cần thiết, hãy đảm bảo tốc độ nhấp nháy rất thấp (dưới 3 lần nhấp nháy mỗi giây) và vùng nhấp nháy nhỏ và tinh tế.

2. Hãy cân nhắc việc cho phép người dùng tắt tính năng này thông qua phần cài đặt hoặc lựa chọn ưu tiên.

3. Hiển thị thông báo cảnh báo rõ ràng trước khi hiện tượng nhấp nháy xảy ra.

Tránh say tàu xe

Hãy tuân thủ các nguyên tắc sau để tránh gây ra tình trạng say xe cho người dùng:

  • Ưu tiên sự thoải mái về thị giác bằng cách tránh các chuyển động đột ngột của camera. Duy trì khung tham chiếu nhất quán để tránh gây mất phương hướng cho người dùng.
  • Đừng xoay camera theo thời gian. Nếu hướng của camera thay đổi, camera sẽ chuyển nhanh sang hướng mới.

Input

Kích thước đích tương tác

Các đích tương tác có kích thước tối thiểu và kích thước đề xuất dựa trên khoảng cách tương tác dự kiến:

  • Kích thước tối thiểu: DistanceInM x 0,868 x 48 = M
  • Kích thước đề xuất: DistanceInM x 0,868 x 56 = M hoặc lớn hơn

Khi sử dụng Jetpack XR SDK, bạn nên dùng kích thước tối thiểu là 48 x 48 dp, với kích thước đích nhấn được đề xuất là 56 x 56 dp hoặc lớn hơn.

Chức năng kỹ thuật của XR

Nhập bằng tay

Ứng dụng của bạn hỗ trợ phương thức tương tác cơ bản là nhập bằng tay tự nhiên cho Android XR, bao gồm cả các yêu cầu về tính năng truyền tia bằng tay và hỗ trợ cử chỉ cho các thành phần đầu vào cơ bản.

Người dùng có thể chơi hoặc sử dụng ứng dụng của bạn mà không cần tay điều khiển, nhưng bạn có thể tăng cường trải nghiệm bằng cách sử dụng tay điều khiển nếu muốn.

Boundary (trước đây là Guardian)

Nếu ứng dụng của bạn yêu cầu người dùng di chuyển từ điểm bắt đầu (khi khởi chạy ứng dụng) xung quanh không gian thực của họ, thì ứng dụng sẽ yêu cầu truyền qua hoặc khai báo PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE trong tệp kê khai.

Nếu ứng dụng của bạn sử dụng XR_BOUNDARY_TYPE_LARGE, thì ứng dụng đó có thể chơi được mà không hiển thị ranh giới (trong bán kính 2 mét; lưu ý, tính năng truyền ranh giới bắt đầu mờ dần ở bán kính 1,5 mét).

Hiệu suất

Kết xuất

Ứng dụng của bạn kết xuất mỗi khung hình trong khoảng <11,1 mili giây (90 Hz) và <13,8 mili giây (72 Hz).

Độ phân giải

Ứng dụng của bạn có độ phân giải tối thiểu là 1856 x 2160 cho mỗi mắt.

Thời gian khởi động ứng dụng

Người dùng muốn có thể tương tác với ứng dụng hoặc trò chơi của bạn nhanh nhất có thể. Định nghĩa về thời gian khởi động hoặc tải tốt sẽ khác nhau tuỳ theo danh mục, nhưng theo nguyên tắc chung, bạn nên giảm thiểu thời gian giữa lần khởi chạy và lần tương tác đầu tiên.

Xem thời lượng mục tiêu bên dưới:

  • Thời gian khởi động nguội trung bình: Dưới 2 giây
  • Thời gian khởi động ấm trung bình: Dưới 1 giây

Để biết thêm thông tin chi tiết, hãy xem bài viết Thời gian khởi động ứng dụng.

ANR

Ứng dụng của bạn không gặp sự cố hoặc chặn luồng giao diện người dùng gây ra lỗi ANR ("Android không phản hồi").

Ứng dụng của bạn có <1 lỗi ANR trong 99,5% số phiên hằng ngày.

Ứng dụng của bạn sử dụng báo cáo trước khi ra mắt của Google Play để xác định các vấn đề tiềm ẩn về độ ổn định. Sau khi triển khai, hãy chú ý đến trang Android Vitals trong Google Play Developer Console.

Tỷ lệ sự cố

Không sử dụng quá nhiều tài nguyên hệ thống, gây ảnh hưởng đến phần còn lại của hệ thống và các ứng dụng khác, duy trì tỷ lệ gặp sự cố khoảng 1%.

Đường cơ sở của ứng dụng Android (có sự khác biệt về XR)

Hình ảnh và trải nghiệm người dùng

XR cơ bản

Ứng dụng của bạn triển khai ít nhất một tính năng hoặc nội dung dành riêng cho XR để nâng cao trải nghiệm người dùng. Điều này có thể bao gồm một thiết bị chuyển động, một hoặc nhiều bảng không gian, môi trường hoặc đối tượng 3D.

Bảng điều khiển không gian

Khi thực hiện nhiều việc cùng lúc (tức là hoàn thành hai hoặc nhiều việc cùng một lúc) bằng các bảng, hãy tạo các bảng không gian riêng biệt. Ví dụ: bạn sẽ tạo các bảng không gian riêng biệt cho cửa sổ trò chuyện và danh sách.

Môi trường

Khi hiển thị môi trường ảo, độ sáng có thể gây mất tập trung và mệt mỏi. Ứng dụng của bạn có dải tông màu an toàn, không có độ sáng tăng đột ngột gây xung đột với giao diện người dùng hoặc có thể khiến người dùng mệt mỏi. Giao diện người dùng dễ đọc theo mọi hướng, đặc biệt là trong dải ngang ở giữa tầm nhìn của người dùng. (Các nguyên tắc chi tiết sẽ được liên kết trong tương lai)

Chuyển đổi giữa Không gian chính (HSM) và Toàn không gian (FSM)

Khi đưa người dùng sang chế độ Toàn không gian, ứng dụng của bạn sẽ có một điểm truy cập để người dùng nhanh chóng chuyển đổi giữa chế độ Không gian chính và chế độ Toàn không gian. Sử dụng một biểu tượng hoặc nhãn và đặt nút ở vị trí dễ truy cập.

Bảng điều khiển không gian

Đặt trình đơn, thành phần và chế độ kiểm soát trong một bảng điều khiển hoặc orbiter chuyên dụng. Đừng đưa các thành phần này vào bảng chỉnh sửa chính.

Di chuyển qua trình đơn / danh sách

Ứng dụng của bạn cập nhật các hoạt động tương tác cuộn (đặc biệt là thông qua băng chuyền hoặc danh sách dọc) để có hiệu ứng vật lý hoặc quán tính. Ví dụ: thao tác cuộn kết hợp với quán tính, khiến nội dung trong băng chuyền và danh sách tiếp tục di chuyển trong thời gian ngắn sau khi người dùng tương tác trước khi dừng lại từ từ (thay vì dừng chính xác khi người dùng ngừng nhập).

Chức năng video / nội dung nghe nhìn

Hình ảnh và trải nghiệm người dùng

Trình phát không gian (chỉ dành cho Android)

Ứng dụng của bạn cho phép người dùng xem nội dung ở chế độ Toàn không gian.

Xoá các chế độ phát khỏi lớp phủ trên nội dung và thay vào đó, hãy đặt các chế độ này trong một bảng điều khiển hoặc trình phát nổi chuyên dụng.

Đối với các bảng có chế độ phát video, hãy đặt tỷ lệ khung hình để loại bỏ hiệu ứng hòm thư.

Âm thanh không gian

Cân nhắc hỗ trợ âm thanh không gian, bao gồm cả âm thanh bị khoá theo bảng điều khiển hoặc âm thanh vòm.

Xem video đồng thời

Nếu ứng dụng của bạn hỗ trợ nhiều luồng video đồng thời, thì giao diện người dùng phải cho thấy rõ những thông tin sau:

  • Luồng video nào đang cung cấp đầu ra âm thanh
  • Những chế độ điều khiển nào ảnh hưởng đến luồng video nào

Môi trường

Khi phát nội dung ở chế độ Toàn không gian, ứng dụng của bạn cho phép người dùng làm mờ chế độ truyền qua hoặc chọn môi trường ảo.


OpenXR™ và biểu trưng OpenXR là các nhãn hiệu thuộc sở hữu của The Khronos Group Inc. và được đăng ký làm nhãn hiệu ở Trung Quốc, Liên minh Châu Âu, Nhật Bản và Vương quốc Anh.