API ARCore Cloud Anchor API hoặc dịch vụ ARCore Cloud Anchor cung cấp các chức năng neo đám mây cho các ứng dụng iOS, giúp có thể để người dùng trên cả thiết bị iOS và Android chia sẻ trải nghiệm thực tế tăng cường.
Hướng dẫn này chỉ cho bạn cách:
- Thiết lập môi trường phát triển để làm việc với Cloud Anchors
- Thử lưu trữ và phân giải quảng cáo cố định trong một ứng dụng mẫu
Điều kiện tiên quyết
- Xcode phiên bản 13.0 trở lên
- Cocoapods 1.4.0 trở lên nếu sử dụng Cocoapods
- Một thiết bị Apple tương thích với ARKit chạy iOS 12.0 trở lên (mục tiêu triển khai bắt buộc đối với iOS 12.0 trở lên)
Sử dụng Cloud Neo
Các bước sau đây sử dụng ứng dụng mẫu Cloud Anchors để cho bạn thấy các nhiệm vụ định cấu hình và xây dựng một ứng dụng hỗ trợ ARCore Cloud Anchors.
Tải ứng dụng mẫu Cloud Anchors
Sao chép hoặc tải SDK ARCore dành cho iOS xuống từ GitHub để lấy mã ứng dụng mẫu.
Mở cửa sổ Dòng lệnh hoặc Trình tìm kiếm rồi chuyển đến thư mục mà bạn đã sao chép hoặc tải SDK xuống.
Bạn có thể tìm thấy mã ứng dụng mẫu trong
/arcore-ios-sdk-master/Examples/CloudAnchorExample
.Mã ứng dụng mẫu cố định trên đám mây là trong
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
Thiết lập phiên
Ứng dụng mẫu thực hiện các tác vụ quan trọng sau đây trong quá trình thiết lập phiên:
- Tạo
GARSession
- Tạo
ARSession
và chạy nó - Thiết lập một
ARSessionDelegate
. - Truyền
ARFrame
giây vàoGARSession
trong phương thứcsession:didUpdateFrame:
.
Thiết lập tính năng chia sẻ mã nhận dạng neo trên đám mây
Ứng dụng mẫu Cloud Anchors sử dụng Firebase để chia sẻ mã nhận dạng Cloud Anchors giữa thiết bị. Bạn có thể sử dụng một giải pháp khác trong ứng dụng của mình.
Cách thiết lập cơ sở dữ liệu Firebase trong ứng dụng mẫu:
- Làm theo hướng dẫn của Firebase để thêm Firebase vào ứng dụng của bạn.
- Tải tệp
GoogleService-Info.plist
được tạo xuống trong quá trình thêm Firebase cho ứng dụng của bạn. - Bật bộ nhớ Firebase cho mẫu:
- Chuyển đến bảng điều khiển của Firebase rồi chọn dự án mà bạn thiết lập ứng dụng mẫu.
- Chọn bảng điều khiển Database.
- Trên tuỳ chọn Realtime Database, hãy nhấp vào Get Started.
- Trình đơn Security rules for Realtime Database sẽ mở ra.
- Để chạy mẫu, hãy chọn Start in test mode.
- Xin lưu ý rằng nếu bạn đang sử dụng Firebase cho ứng dụng mà bạn dự định xuất bản, bạn nên sử dụng các quy tắc bảo mật hạn chế hơn.
- Trong Xcode, hãy thêm tệp
GoogleService-Info.plist
vào ứng dụng của bạn, bên cạnhInfo.plist
.
Thiết lập API ARCore
Để sử dụng Cloud Anchors, trước tiên bạn phải thiết lập ARCore API cho ứng dụng của bạn.
Chạy quá trình cập nhật nhóm
Ứng dụng CloudAnchorExample đi kèm với một Podfile
được định cấu hình sẵn với
SDK ARCore và phiên bản iOS mà bạn sẽ cần. Cách cài đặt các phần phụ thuộc này:
- Mở cửa sổ dòng lệnh và chạy
pod update
từ thư mục có chứa Dự án Xcode đã tồn tại.
Thao tác này sẽ tạo một tệp.xcworkspace
mà sau này bạn sẽ sử dụng để tạo và chạy ứng dụng.
Xem phần Thêm SDK ARCore vào ứng dụng của bạn
để biết thông tin chi tiết về cách định cấu hình Podfile
trong các ứng dụng của riêng bạn.
Mở tệp
.xcworkspace
cho dự án trong Xcode.Để tránh lỗi bản dựng, hãy đảm bảo bạn đang tạo từ
.xcworkspace
chứ không phải tệp.xcodeproj
.
Thay đổi mã nhận dạng gói ứng dụng
Trong Xcode, hãy thay đổi mã gói của ứng dụng để bạn có thể ký ứng dụng với nhóm của mình.
Tạo và chạy ứng dụng
Kết nối thiết bị của bạn và khởi chạy ứng dụng trong Xcode.
(Không bắt buộc) Nếu bạn đang tạo và chạy ứng dụng mẫu, hãy xem các mục sau để biết thông tin chi tiết về cách dùng ứng dụng để lưu trữ và phân giải Cloud Anchors.
Dùng thử ứng dụng mẫu
Tạo và chạy ứng dụng mẫu từ tệp
.xcworkspace
để khởi chạy nội dung đó trên thiết bị của bạn.Nếu được nhắc, hãy cấp quyền truy cập camera cho ứng dụng. Sau đó, ARKit bắt đầu phát hiện máy bay ở phía trước máy ảnh của bạn.
Nhấn vào HOST để chuyển sang chế độ lưu trữ. Mã phòng để chia sẻ quảng cáo cố định được lưu trữ sẽ được tạo và xuất hiện trên màn hình của bạn.
Nhấn vào máy bay để bắt đầu lưu trữ neo trên đám mây tại đó.
- Ứng dụng đặt một đối tượng Android của An lên máy bay và đính kèm một neo vào ứng dụng.
- Yêu cầu máy chủ được gửi đến điểm cuối trên đám mây của API ARCore. Máy chủ lưu trữ bao gồm dữ liệu đại diện cho vị trí của quảng cáo cố định so với các tính năng trực quan ở gần đó.
- Sau khi được lưu trữ, quảng cáo cố định sẽ nhận được một mã nhận dạng dùng để phân giải đám mây quảng cáo cố định trong không gian này.
Nhấn vào RESOLVE rồi nhập mã phòng để truy cập trước đó đã lưu trữ Cloud Anchors cho phòng này bằng cùng một thiết bị hoặc bằng một thiết bị khác.
- Yêu cầu phân giải được gửi đến điểm cuối trên đám mây của API ARCore.
- Yêu cầu phân giải có chứa một mã nhận dạng neo trên đám mây. Nếu mã nhận dạng khớp với neo được lưu trữ và bản địa hoá thành công, máy chủ sẽ trả về biến đổi neo trong toạ độ cục bộ của bạn.
- Ứng dụng mẫu sử dụng phép biến đổi để thêm văn bản liên kết vào cảnh của bạn và kết xuất các đối tượng ảo được đính kèm.
Thêm SDK ARCore vào ứng dụng của bạn
Trong các ứng dụng của riêng mình, bạn cần cập nhật Podfile
để thêm
SDK ARCore và phiên bản iOS được hỗ trợ. Để thực hiện việc này:
Thêm
platform
vàpod
sau vàoPodfile
của dự án:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.45.0'
- Mở cửa sổ dòng lệnh và chạy
pod update
từ thư mục có dự án Xcode của bạn đã 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.
Neo cố định trên đám mây
Như đã mô tả trong bài viết Lưu trữ Cloud Anchor với khả năng lưu trữ cố định,
bạn có thể kéo dài thời gian tồn tại lên đến 365 ngày cho neo trên đám mây. Mã mẫu cho
sử dụng neo đám mây cố định có sẵn trong /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
trong thư mục ARCore SDK dành cho iOS trên GitHub.
Các bước tiếp theo
Xem Hướng dẫn dành cho nhà phát triển Cloud Anchors dành cho iOS để khám phá mã ứng dụng mẫu và tìm hiểu thêm về cách làm việc với Cloud Anchors trong ứng dụng của chính bạn.
Hãy xem thông tin chi tiết trong Tài liệu tham khảo API ARCore iOS.