Bật API không gian địa lý cho ứng dụng iOS của bạn

Đị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.

Nếu bạn muốn chạy một ứng dụng mẫu minh hoạ chức năng được mô tả ở đây, hãy xem hướng dẫn bắt đầu nhanh về Không gian địa lý ARCore cho iOS.

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.

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.

Cập nhật Podfile cho ứng dụng của bạn để bao gồm SDK ARCore và các phiên bản iOS được hỗ trợ. Để thực hiện việc này:

  1. Thêm platformpod sau vào Podfile của dự án:

    platform :ios, '11.0'
    pod 'ARCore/Geospatial', '~> 1.41.0'
    

    Bạn cũng có thể chỉ định platform :ios, '10.0' nếu muốn hỗ trợ iOS 10, nhưng xin lưu ý rằng API Không gian địa lý sẽ chỉ hoạt động trong thời gian chạy trên iOS >= 11.

  2. Mở cửa sổ dòng lệnh rồi chạy pod install trong thư mục chứa dự án Xcode của bạn.

    Thao tác này sẽ tạo một tệp .xcworkspace mà bạn dùng để tạo và chạy ứng dụng.

Hãy đảm bảo rằng môi trường phát triển của bạn đáp ứng các yêu cầu về SDK ARCore, như mô tả trong phần Bắt đầu nhanh.

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

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ý, như mô tả trong phần quickstart.

Sử dụng GARSession.isGeospatialModeSupported: để kiểm tra thiết bị, như trong ví dụ sau:

if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
  [self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
  return;
}

GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
  [self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
                                                  (int)error.code]];
  return;
}

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

Ứng dụng của bạn phải yêu cầu các quyền truy cập thông tin vị trí sau đây trong thời gian chạy, trước khi định cấu hình phiê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 sự biến đổi 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 biến đổi 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 GARSession.checkVPSAvailabilityAtCoordinate:completionHandler: để 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 ra biến đổi với độ chính xác cao.

Các bước tiếp theo