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ể sử dụng API Không gian địa lý.

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

Đảm bảo rằng bạn hiểu rõ các khái niệm cơ bản về AR và cách định cấu hình 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ả tại đây, hãy xem Bắt đầu nhanh Không gian địa lý ARCore dành cho iOS.

Xem Giới thiệu về API Không gian địa lý để biết thêm thông tin 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 phần Bắt đầu để biết thông tin về các yêu cầu, điều kiện tiên quyết và phần mềm và phần cứng thông tin khác dành riêng cho các nền tảng mà bạn đang sử dụng.

Bật API ARCore

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

Ưu tiên phương thức uỷ quyền không dùng 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 cần thiết vào ứng dụng của bạn

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

Cập nhật Podfile cho ứng dụng của bạn để bao gồm SDK ARCore và iOS được hỗ trợ lập phiên bản. Để 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.45.0'
    

    Bạn cũng có thể chỉ định platform :ios, '10.0', nếu bạn muốn hỗ trợ iOS 10, nhưng 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 và chạy pod install từ thư mục có dự án Xcode của bạn đang tồn tại.

    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ề ARCore SDK, vì được mô tả trong phần Bắt đầu nhanh.

Bật các chức 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 tất cả thiết bị hỗ trợ ARCore cũng hỗ trợ API Không gian địa lý, vì như mô tả trong phần bắt đầu nhanh.

Sử dụng GARSession.isGeospatialModeSupported: để kiểm tra thiết bị, như trong phần 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 khả dụng 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 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 thiết bị. Ở những khu vực có độ chính xác GPS thấp, 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 phủ sóng của VPS để tạo ra các biến đổi có độ chính xác cao. Trong điều kiện thông thường, máy chủ ảo có thể được cung cấp độ chính xác về 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í cụ thể có phạm vi phủ sóng của VPS hay không.

Bạn cũng có thể sử dụng API không gian địa lý ở những khu vực không có phạm vi phủ sóng của VPS. Trong môi trường ngoài trời có ít hoặc không có vật cản trên đầu, GPS có thể đủ để tạo ra sự biến đổi với độ chính xác cao.

Các bước tiếp theo