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 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 lại 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ỳ kiểu dáng nào khác. Loại ứng dụng này sẽ tự động tương thích với Android XR miễn là 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 luồng tác vụ quan trọng, nhưng trải nghiệm người dùng chưa được tối ưu 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ủa ứng dụng có thể không lý tưởng ở kích thước lớn hơn. Các ứ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 nên không có khung viền hòm thư. Ứng dụng có trải nghiệm chức năng của các phương thức nhập liệu cốt lõi do Android XR cung cấp (theo dõi mắt + cử chỉ hoặc bàn tay raycast) 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à tay điều khiển trò chơi. Có thể thay đổi kích thước hoặc không.

Các ứng dụng di động tương thích với Android XR sẽ tự động được chọn và có trên Cửa hàng Google Play. Bạn không thể cài đặt ứng dụng không tương thích do không đáp ứng các yêu cầu về tính năng 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 tính năng 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à tính 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 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 bảng điều khiển không gian trong môi trường của người dùng ở tỷ lệ 1024 dp × 720 dp. Người dùng 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 về cơ bản sẽ rất giống với ứng dụng màn hình lớn.

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

Ứng dụng dành riêng cho Android XR có trải nghiệm người dùng được thiết kế rõ rà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 tính năng của Android XR và tạo sự khác biệt cho trải nghiệm ứ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 SDK Android Jetpack XR, Unity hoặc OpenXR.

Bạn có thể sử dụng SDK Jetpack XR để cung cấp các tính 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, neo và các giao diện người dùng không gian khác như vệ tinh.

Để được coi là ứng dụng Android XR có sự khác biệt, ứng dụng phải triển khai ít nhất một tính năng hoặc nội dung dành riêng cho XR. Đối với một số trường hợp sử dụng, có thể có thêm các yêu cầu về nội dung và tính năng. 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. Ứ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 Android XR khác biệt. Ví dụ: ứng dụng có tốc độ khung hình thấp, sự cố hoặc trải nghiệm người dùng tiêu cực khác sẽ không đủ điều kiện.

Danh sách kiểm tra khả năng tương thích với Android XR

Các danh sách kiểm tra khả năng tương thích này đưa ra 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 cho 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).

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

Mọi ứng dụng màn hình lớn Cấp 1 hoặc Cấp 2 đề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 xem xét trạng thái thiết bị 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 dành cho Android XR

Vì các ứng dụng có sự khác biệt dành cho 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 các tính 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 / Android dành cho thiết bị di động. 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 cơ sở chung (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 hệ thống đăng nhập, hãy trình bày rõ 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. Việc 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 để cho phép người dùng 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 sự an toàn và sức khoẻ của tất cả người dùng, điều quan trọng là bạn phải giảm thiểu nguy cơ hiệu ứng nhấp nháy trong ứng dụng.

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ện tượng nhấp nháy.

1. Nếu bạn bắt buộc phải sử dụng hiệu ứng nhấp nháy, 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à khu vực nhấp nháy nhỏ và tinh tế.

2. Hãy cân nhắc việc cung cấp khả nă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 xảy ra hiện tượng nhấp nháy.

Tránh say tàu xe

Hãy làm theo các nguyên tắc sau để tránh gây ra chứng say tàu xe cho người dùng:

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

Input

Kích thước mục tiêu tương tác

Các mục tiêu có thể 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 trở lên

Khi sử dụng SDK Jetpack XR, 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 mục tiêu nhấn đề xuất là 56 x 56 dp trở lên.

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

Nhập bằng tay

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

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 dự kiến người dùng sẽ di chuyển từ điểm xuất phát (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 hoặc khai báo PROPERTY_ACTIVITY_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ể phát hoàn toàn mà không hiển thị ranh giới (trong bán kính 2,0 m; lưu ý, tính năng truyền tải ranh giới bắt đầu mờ dần ở bán kính 1,5 m).

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 từ <11,1 mili giây (90 Hz) đến <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à 2364 x 2880 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 từ khi khởi chạy đến khi tương tác lần đầu.

Hãy 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, 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 Console.

Tỷ lệ sự cố

Không tiêu thụ quá nhiều tài nguyên hệ thống ảnh hưởng đến phần còn lại của hệ thống và các ứng dụng khác, giữ tỷ lệ sự cố ở mức khoảng 1%.

Đường cơ sở ứng dụng Android (phân biệt XR)

Giao diện người dùng 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. Mô hình này có thể bao gồm một vệ tinh nhân tạo, một hoặc nhiều bảng điều khiển không gian, môi trường hoặc đối tượng 3D.

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

Khi làm 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 điều khiển, hãy tạo các bảng điều khiển không gian riêng biệt. Ví dụ: bạn sẽ tạo các bảng điều khiển 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 biến xung đột với giao diện người dùng hoặc có thể gây mỏi mắt cho người dùng. Giao diện người dùng dễ đọc ở mọi hướng, đặc biệt là trong dải ngang giữa của tầm nhìn của người dùng. (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à Không gian đầy đủ (FSM)

Khi đưa người dùng đến Không gian toàn màn hình, ứ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 Không gian chính và Không gian toàn màn hình. Sử dụng 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à các chế độ điều khiển trong một bảng điều khiển hoặc vệ tinh chuyên dụng. Đừng đưa các thành phần này vào bảng chỉnh sửa chính.

Cuộn 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ó lực học hoặc động lượng. Ví dụ: tính năng cuộn kết hợp với động lượng, khiến nội dung trong băng chuyền và danh sách tiếp tục di chuyển trong giây lát sau khi người dùng tương tác trước khi dần dừng lại (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

Giao diện người dùng 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 màn hình.

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

Đối với các bảng điều khiển có chế độ phát video, hãy đặt tỷ lệ khung hình để xoá 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á bảng điều khiển hoặc âm thanh vòm.

Chế độ xem video đồng thời

Nếu ứng dụng của bạn hỗ trợ nhiều luồng video đồng thời, giao diện người dùng sẽ cung cấp rõ ràng 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 phát ảnh hưởng đến luồng video nào

Môi trường

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