API ARCore Cloud Anchor hay dịch vụ ARCore Cloud Anchor, cung cấp các tính năng neo trên đám mây cho các ứng dụng iOS, giúp người dùng trên cả thiết bị iOS và Android có thể chia sẻ trải nghiệm thực tế tăng cường.
Hướng dẫn này trình bày cách:
- Thiết lập môi trường phát triển để hoạt động với Cloud Anchors
- Dùng thử việc lưu trữ và phân giải quảng cáo cố định cuối màn hình trong ứng dụng mẫu
Điều kiện tiên quyết
- Xcode phiên bản 13.0 trở lên
- CocoaPs 1.4.0 trở lên nếu sử dụng CocoaPods
- Thiết bị Apple tương thích với ARKit chạy iOS 12.0 trở lên (cần có mục tiêu triển khai iOS 12.0 trở lên)
Sử dụng Cloud Anchors
Các bước sau đây sử dụng ứng dụng mẫu Cloud Anchors để cho bạn biết các nhiệm vụ quan trọng trong việc định cấu hình và xây dựng một ứng dụng hỗ trợ Cloud Anchors (Neo trên đám mây ARCore).
Tải ứng dụng mẫu Cloud Anchors
Nhân bản hoặc tải SDK ARCore dành cho iOS dành cho iOS từ GitHub xuống để lấy mã ứng dụng mẫu.
Mở cửa sổ Terminal hoặc Finder 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 nằm trong
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
Thiết lập phiên
Ứng dụng mẫu thực hiện những nhiệm vụ quan trọng sau đây trong quá trình thiết lập phiên hoạt động:
- Tạo
GARSession
- Tạo và chạy
ARSession
- Đặt
ARSessionDelegate
. - Truyền
ARFrame
s 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 neo trên đám mây giữa các thiết bị. Bạn có thể sử dụng giải pháp khác trong các ứng dụng của mình.
Để thiết lập cơ sở dữ liệu Firebase trong ứng dụng mẫu, hãy làm như sau:
- 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 vào ứ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 cho ứ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 đang sử dụng Firebase cho một ứng dụng mà bạn định phát hành, bạn nên sử dụng các quy tắc bảo mật có tính hạn chế cao 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 API ARCore cho ứng dụng của mình.
Chạy bản cập nhật nhóm
Ứng dụng CloudAnchorExample đi kèm với Podfile
được định cấu hình sẵn bằng SDK ARCore và các phiên bản iOS mà bạn cần. Cách cài đặt các phần phụ thuộc này:
- Mở cửa sổ dòng lệnh rồi chạy
pod update
từ thư mục chứa dự án Xcode.
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.
Hãy xem bài viết Thêm SDK ARCore vào ứng dụng để 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 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 bản dựng từ tệp
.xcworkspace
chứ không phải từ tệp.xcodeproj
.
Thay đổi mã 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 rồ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 phần sau đây để 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
để chạy ứng dụng đó trên thiết bị của bạn.Nếu được nhắc, hãy cấp quyền truy cập vào máy ảnh cho ứng dụng. Sau đó, ARKit sẽ bắt đầu phát hiện các mặt phẳng trước máy ảnh của bạn.
Nhấn vào HOST để truy cập chế độ tổ chức. Mã phòng để chia sẻ các quảng cáo cố định cuối màn hì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 Andy Android trên mặt phẳng và gắn một neo vào đối tượng đó.
- Một yêu cầu lưu trữ được gửi đến điểm cuối trên đám mây của API ARCore. Yêu cầu máy chủ lưu trữ bao gồm dữ liệu biểu thị vị trí của liên kết so với các tính năng hình ảnh gần đó.
- Sau khi được lưu trữ, liên kết này sẽ nhận được một mã nhận dạng dùng để phân giải các neo trên đám mây trong không gian này.
Nhấn vào RESOLVE rồi nhập mã phòng để truy cập vào Cloud Anchors được lưu trữ trước đó cho phòng này, bằng cách sử dụng cùng một thiết bị hoặc thiết bị khác.
- Một yêu cầu phân giải sẽ được gửi đến điểm cuối trên đám mây của API ARCore.
- Yêu cầu xử lý có một mã nhận dạng neo trên đám mây. Nếu mã nhận dạng khớp với một điểm neo được lưu trữ và bản địa hoá thành công, thì máy chủ sẽ trả về phép biến đổi điểm 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 điểm neo vào cảnh của bạn và kết xuất các đối tượng ảo đi kèm với cảnh đó.
Thêm SDK ARCore vào ứng dụng
Trong các ứng dụng của riêng mình, bạn cần cập nhật Podfile
để bao gồm SDK ARCore và các 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.44.0'
- Mở cửa sổ dòng lệnh và chạy
pod update
từ thư mục chứa dự án Xcode của bạn.
Thao tác này sẽ tạo ra 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 phần Lưu trữ neo trên đám mây một cách bền vững,
bạn có thể duy trì thời gian tồn tại của neo trên đám mây lên đến 365 ngày. Bạn có thể xem mã mẫu để sử dụng neo trên đám mây cố định trong thư mục /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
trong SDK ARCore dành cho iOS từ GitHub.
Các bước tiếp theo
Xem Hướng dẫn 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 riêng bạn.
Xem thông tin chi tiết trong Tài liệu tham khảo về API ARCore iOS.