Bật API Không gian địa lý cho ứng dụng Unity (AR Foundation) nhắm đến Android

Định cấu hình chế độ cài đặt của ứng dụng để có thể dùng API Không gian địa lý.

Điều kiện tiên quyết

Hãy đảm bảo bạn hiểu rõ các khái niệm cơ bản về AR và cách định cấu hình một phiên ARCore trước khi tiếp tục.

Hãy xem phần Giới thiệu về API Không gian địa lý để biết thêm thông tin về API Không gian địa lý.

Nếu bạn mới phát triển bằng ARCore, hãy xem bài viết Bắt đầu để biết thông tin về các yêu cầu về phần mềm và phần cứng, các điều kiện tiên quyết cũng như các thông tin khác dành riêng cho những nền tảng bạn đang sử dụng.

Để sử dụng API Không gian địa lý ARCore, dự án của bạn phải hỗ trợ Nền tảng ARTiện ích ARCore cho Nền tảng thực tế tăng cường.

Bật API ARCore

Trước khi sử dụng Hệ thống định vị trực quan (VPS) trong ứng dụng, trước tiên, bạn phải bật API ARCore trong một dự án Google Cloud mới hoặc hiện có. Dịch vụ này chịu trách nhiệm lưu trữ, lưu trữ và phân giải neo không gian địa lý.

Ưu tiên phương thức uỷ quyền không cần khoá, nhưng hệ thống cũng hỗ trợ phương thức uỷ quyền Khoá API.

Thêm các thư viện bắt buộc vào ứng dụng

Sau khi cho phép ứng dụng gọi API ARCore, bạn phải thêm các thư viện để bật các tính năng Không gian địa lý trong ứng dụng của mình.

  1. Chuyển đến Edit (Chỉnh sửa) > Project Settings (Cài đặt dự án) > XR Plugin-In Management > ARCore Extensions (Chỉnh sửa > Cài đặt dự án).
  2. Trong Tính năng tùy chọn, hãy chọn Không gian địa lý.

Bật tính năng Không gian địa lý trong cấu hình phiên

Sau khi bạn bật chức năng Không gian địa lý trong ứng dụng của mình, hãy bật tính năng Không gian địa lý trong phần cấu hình phiên AR của ứng dụng để ứng dụng có thể giao tiếp với API ARCore:

  1. Đảm bảo rằng thư mục Assets của dự án chứa đối tượng có thể tập lệnh ARCoreExtensionsConfig. Để tạo một tiện ích, hãy nhấp chuột phải vào ngăn Assets (Tài sản) rồi chọn Create > XR > ARCore Extensions Config (Tạo > XR > Cấu hình tiện ích ARCore).
  2. Chọn đối tượng có thể tập lệnh ARCoreExtensionsConfig trong thư mục Assets của bạn rồi đặt Geospatial Mode (Chế độ không gian địa lý) thành Enabled (Bật).

  3. Định cấu hình đối tượng trò chơi ARCore Extensions (Tiện ích ARCore) để sử dụng cấu hình ARCoreExtensionsConfig. Trong ngăn Phân cấp, hãy tìm đối tượng trò chơi Tiện ích ARCore mà bạn đã tạo khi lần đầu thiết lập Tiện ích ARCore, rồi kết nối trường Cấu hình tiện ích ARCore với đối tượng có thể tập lệnh ARCoreExtensionsConfig trong thư mục Assets của bạn.

Nhắc người dùng cho phép sử dụng dữ liệu thiết bị

Các ứng dụng sử dụng API Không gian địa lý ARCore phải hiển thị cho người dùng lời nhắc xác nhận và cho phép sử dụng dữ liệu từ thiết bị của họ. Vui lòng xem bài viết Yêu cầu về quyền riêng tư của người dùng để biết thêm thông tin.

Kiểm tra khả năng tương thích của thiết bị

Không phải thiết bị nào hỗ trợ ARCore cũng hỗ trợ API Không gian địa lý. Để kiểm tra khả năng tương thích trên thiết bị của người dùng, hãy gọi AREarthManager.IsGeospatialModeSupported(). Nếu phương thức này trả về FeatureSupported.Unsupported, bạn đừng cố gắng định cấu hình phiên hoạt động.

Yêu cầu người dùng cấp quyền truy cập thông tin vị trí trong thời gian chạy

Các tiện ích ARCore tự động yêu cầu quyền truy cập thông tin vị trí thích hợp khi bạn bật chế độ Không gian địa lý trong ARCoreExtensions.Update(). Nếu người dùng không cấp quyền truy cập thông tin vị trí chính xác, phiên làm việc sẽ không tiếp tục và sẽ xảy ra lỗi "chưa được cấp quyền". Đây là lỗi chấm dứt và yêu cầu khởi động lại để kích hoạt lại yêu cầu cấp quyền.

Kiểm tra tính sẵn có về không gian địa lý tại vị trí hiện tại của thiết bị

Vì API Không gian địa lý sử dụng kết hợp VPS và GPS để xác định Vị trí không gian địa lý, nên bạn có thể sử dụng API này miễn là thiết bị có thể xác định được vị trí của mình. Trong các khu vực có độ chính xác thấp của GPS, chẳng hạn như không gian trong nhà và môi trường đô thị đông đúc, API sẽ dựa vào phạm vi VPS để tạo ra các tư thế có độ chính xác cao. Trong điều kiện thông thường, VPS có thể cung cấp độ chính xác vị trí khoảng 5 mét và độ chính xác quay là 5 độ. Sử dụng AREarthManager.CheckVpsAvailability() để xác định xem một vị trí nhất định có phủ sóng VPS hay không.

API Không gian địa lý cũng có thể được dùng trong những khu vực không có VPS. Trong môi trường ngoài trời có ít hoặc không có vật cản trên cao, GPS có thể đủ để tạo tư thế với độ chính xác cao.

Các bước tiếp theo