Bật ARCore cho Android

Trang này mô tả cách bật chức năng ARCore trong các dự án Unity của bạn để nhắm mục tiêu thiết bị Android. Để làm điều này, bạn cần phải:

  1. Nhập SDK ARCore cho Unity
  2. Định cấu hình ứng dụng của bạn thành môi trường AR Yêu cầu hoặc AR (không bắt buộc)
  3. Đảm bảo ứng dụng của bạn tuân thủ Các yêu cầu về quyền riêng tư của người dùng của ARCore

Dịch vụ Google Play cho Thực tế tăng cường

Các SDK ARCore cung cấp các tính năng AR trên các thiết bị hỗ trợ ARCore đã cài đặt Dịch vụ Google Play cho AR (ARCore).

Dịch vụ Google Play cho Thực tế tăng cường được tự động cài đặt và cập nhật trên phần lớn các thiết bị được hỗ trợ.

Trước khi bắt đầu một phiên AR, ứng dụng phải:

  1. Kiểm tra để đảm bảo rằng ARCore được hỗ trợ bằng cách gọi CheckApkAvailability.
  2. Kiểm tra để đảm bảo bạn đã cài đặt và cập nhật Dịch vụ Google Play cho Thực tế tăng cường, đồng thời đã tải dữ liệu hồ sơ thiết bị ARCore bắt buộc xuống bằng cách gọi Session.RequestApkInstallation(bool userRequested).

Nhập SDK ARCore cho Unity

  1. Mở Unity và tạo một dự án 3D mới.

  2. Cài đặt các gói dành riêng cho phiên bản.

    Unity 2020

    Chọn Cửa sổ > Trình quản lý gói và cài đặt các gói sau:

    • HLAPI người chơi (bắt buộc theo mẫu Cloud Anchors)
    • Quản lý trình bổ trợ XR (bắt buộc bằng tính năng Xem trước tức thì, sử dụng TrackedPoseDriver)

    Unity 2019

    Chọn Cửa sổ > Trình quản lý gói và cài đặt các gói sau:

    • HLAPI người chơi (bắt buộc theo mẫu Cloud Anchors)
    • Trình trợ giúp đầu vào XR (bắt buộc bằng tính năng Xem trước tức thì, tính năng này sử dụng TrackedPoseDriver)

    Unity 2018

    Bạn không cần thêm gói nào khác. Chuyển sang bước tiếp theo.

    Unity 2017

    Bạn không cần thêm gói nào khác. Chuyển sang bước tiếp theo.

  3. Nhập SDK ARCore cho Unity:

    1. Chọn Tài sản > Nhập gói > Gói tùy chỉnh.

    2. Chọn arcore-unity-sdk-1.25.0.unitypackage mà bạn đã tải xuống.

    3. Trong hộp thoại Nhập gói, hãy đảm bảo bạn đã chọn tất cả các tùy chọn gói và nhấp vào Nhập.

Trong cửa sổ Dự án Unity, bạn sẽ thấy cả tệp SDK và ứng dụng mẫu HelloAR trong Assets/GoogleARCore/Examples/HelloAR/.

Định cấu hình ứng dụng của bạn là AR bắt buộc hoặc AR (không bắt buộc)

Bạn có thể định cấu hình một ứng dụng hỗ trợ các tính năng thực tế tăng cường theo hai cách: Bắt buộc thực tế tăng cườngKhông bắt buộc thực tế tăng cường. Nếu bạn cần trợ giúp để chọn ứng dụng, hãy xem bài viết Phát hành ứng dụng thực tế tăng cường trong Cửa hàng Google Play.

Cần có AR

Để sử dụng được, ứng dụng Cần có AR yêu cầu phải có Thiết bị hỗ trợ ARCore đã cài đặt Dịch vụ Google Play cho AR.

  • Cửa hàng Google Play chỉ cung cấp các ứng dụng Yêu cầu thực tế tăng cường trên các thiết bị hỗ trợ ARCore.

  • Khi người dùng cài đặt một ứng dụng AR bắt buộc, Cửa hàng Google Play sẽ tự động cài đặt Dịch vụ Google Play cho Thực tế tăng cường. Tuy nhiên, ứng dụng của bạn vẫn phải thực hiện các bước kiểm tra thời gian chạy bổ sung trong trường hợp Dịch vụ Google Play cho Thực tế tăng cường phải được cập nhật hoặc đã bị gỡ cài đặt theo cách thủ công, hoặc dữ liệu hồ sơ thiết bị ARCore chưa được cập nhật.

Để biết thêm thông tin, hãy xem phần Phát hành ứng dụng thực tế tăng cường trong cửa hàng Google Play.

Để yêu cầu tính năng AR trong ứng dụng, hãy làm theo các bước sau.

Unity 2020

  1. Mở Chỉnh sửa > Cài đặt dự án. Chọn Google ARCore và xác minh rằng ARCore yêu cầu được chọn.

  2. Đặt Cấp độ API tối thiểu thích hợp bằng cách nhấp vào Chỉnh sửa > Cài đặt dự án > Trình phát và chọn thẻ có biểu tượng Android. Trong phần Cài đặt khác > Thông tin nhận dạng, hãy chọn Cấp độ API tối thiểu từ 24 trở lên.

Unity 2019

  1. Mở Chỉnh sửa > Cài đặt dự án. Chọn Google ARCore và xác minh rằng ARCore yêu cầu được chọn.

  2. Đặt Cấp độ API tối thiểu thích hợp bằng cách nhấp vào Chỉnh sửa > Cài đặt dự án > Trình phát và chọn thẻ có biểu tượng Android. Trong phần Cài đặt khác > Thông tin nhận dạng, hãy chọn Cấp độ API tối thiểu từ 24 trở lên.

Unity 2018

  1. Mở Chỉnh sửa > Cài đặt dự án. Chọn Google ARCore và xác minh rằng ARCore yêu cầu được chọn.

  2. Đặt Cấp độ API tối thiểu thích hợp bằng cách nhấp vào Chỉnh sửa > Cài đặt dự án > Trình phát và chọn thẻ có biểu tượng Android. Trong phần Cài đặt khác > Thông tin nhận dạng, hãy chọn Cấp độ API tối thiểu từ 24 trở lên.

Unity 2017

  1. Mở Chỉnh sửa > Cài đặt dự án > Google ARCore, sau đó xác minh rằng ARCore yêu cầu được chọn.

  2. Đặt Cấp độ API tối thiểu thích hợp bằng cách nhấp vào Chỉnh sửa > Cài đặt dự án > Trình phát và chọn thẻ có biểu tượng Android. Trong phần Cài đặt khác > Thông tin nhận dạng, hãy chọn Cấp độ API tối thiểu từ 24 trở lên.

Ứng dụng của bạn sẽ tự động thực hiện các bước kiểm tra thời gian chạy để đảm bảo rằng thiết bị hỗ trợ ARCore và đã cài đặt Dịch vụ Google Play cho AR cũng như đảm bảo dữ liệu hồ sơ thiết bị ARCore đã được cập nhật. Nếu Dịch vụ Google Play cho Thực tế tăng cường không được cài đặt (có thể do người dùng đã xóa) hoặc phiên bản quá cũ, thì ứng dụng của bạn sẽ nhắc người dùng cài đặt hoặc cập nhật ứng dụng. Nếu dữ liệu hồ sơ thiết bị ARCore chưa được cập nhật, thì ứng dụng của bạn sẽ tải xuống và cập nhật dữ liệu. Nếu việc cài đặt hoặc cập nhật không thành công (có thể do lỗi mạng), Session.Status sẽ trả về lỗi và ứng dụng của bạn sẽ xử lý lỗi này và thoát.

Không bắt buộc AR

Ứng dụng Không bắt buộc AR có các tính năng thực tế tăng cường không bắt buộc và chỉ được kích hoạt trên các thiết bị đã cài đặt Dịch vụ Google Play cho Thực tế tăng cường.

  • Bạn có thể cài đặt và chạy các ứng dụng AR không bắt buộc trên các thiết bị không hỗ trợ ARCore.

  • Khi người dùng cài đặt một ứng dụng AR không bắt buộc, Cửa hàng Google Play sẽ không tự động cài đặt Dịch vụ Google Play cho Thực tế tăng cường với ứng dụng đó.

Để đặt một ứng dụng AR ở chế độ AR (không bắt buộc), hãy làm theo các bước sau.

Unity 2020

  1. Mở Chỉnh sửa > Cài đặt dự án. Chọn Google ARCore và bỏ đánh dấu ARCore yêu cầu.

  2. Đặt Cấp độ API tối thiểu thích hợp bằng cách nhấp vào Chỉnh sửa > Cài đặt dự án > Trình phát và chọn thẻ có biểu tượng Android. Trong phần Cài đặt khác > Thông tin nhận dạng, hãy chọn Cấp độ API tối thiểu từ 18 trở lên.

Unity 2019

  1. Mở Chỉnh sửa > Cài đặt dự án. Chọn Google ARCore và bỏ đánh dấu ARCore yêu cầu.

  2. Đặt Cấp độ API tối thiểu thích hợp bằng cách nhấp vào Chỉnh sửa > Cài đặt dự án > Trình phát và chọn thẻ có biểu tượng Android. Trong phần Cài đặt khác > Thông tin nhận dạng, hãy chọn Cấp độ API tối thiểu từ 18 trở lên.

Unity 2018

  1. Mở Chỉnh sửa > Cài đặt dự án. Chọn Google ARCore và bỏ đánh dấu ARCore yêu cầu.

  2. Đặt Cấp độ API tối thiểu thích hợp bằng cách nhấp vào Chỉnh sửa > Cài đặt dự án > Trình phát và chọn thẻ có biểu tượng Android. Trong phần Cài đặt khác > Thông tin nhận dạng, hãy chọn Cấp độ API tối thiểu từ 18 trở lên.

Unity 2017

  1. Mở Chỉnh sửa > Cài đặt dự án > Google ARCore và bỏ đánh dấu Cần có ARCore.

  2. Đặt Cấp độ API tối thiểu thích hợp bằng cách nhấp vào Chỉnh sửa > Cài đặt dự án > Trình phát và chọn thẻ có biểu tượng Android. Trong phần Cài đặt khác > Thông tin nhận dạng, hãy chọn Cấp độ API tối thiểu từ 18 trở lên.

Thực hiện kiểm tra thời gian chạy

Khi ra mắt, ứng dụng của bạn phải gọi Session.CheckApkAvailability() để kiểm tra xem thiết bị có hỗ trợ ARCore hay không và nếu có thì liệu Dịch vụ Google Play cho dữ liệu hồ sơ thiết bị AR và ARCore có được cài đặt và cập nhật hay không.

Ứng dụng của bạn phải xử lý các điều kiện sau:

Điều kiện Hành động
Thiết bị không hỗ trợ ARCore. Ẩn chức năng liên quan đến AR.
Thiết bị hỗ trợ ARCore, nhưng dịch vụ Google Play cho dữ liệu hồ sơ thiết bị thực tế tăng cường và/hoặc ARCore chưa được cài đặt hoặc lỗi thời. Nhắc người dùng cài đặt hoặc cập nhật Dịch vụ Google Play cho dữ liệu hồ sơ thiết bị thực tế tăng cường và/hoặc ARCore bằng cách gọi Session.RequestApkInstallation().
Thiết bị hỗ trợ dữ liệu hồ sơ thiết bị ARCore và Dịch vụ Google Play cho AR và AR được cài đặt và cập nhật. Tạo ARCore Session và bắt đầu sử dụng ARCore.

Yêu cầu về quyền riêng tư của người dùng

Đảm bảo ứng dụng của bạn tuân thủ Các yêu cầu về quyền riêng tư của người dùng của ARCore.

Bước tiếp theo

Đọc mã trong ứng dụng mẫu và Tài liệu tham khảo API ARCore cho Unity.