ARCore Cloud Anchor API (或 ARCore Cloud Anchor 服務) 可為 iOS 應用程式提供雲端錨點功能,讓 iOS 應用程式更加完善 讓 iOS 和 Android 裝置的使用者分享 AR 體驗。
本指南說明如何:
- 設定開發環境以便與 Cloud Anchors 搭配使用
- 在範例應用程式中試用主機代管和解析錨點
必要條件
- Xcode 13.0 以上版本
- Cocoapods 1.4.0 以上版本 (如果使用 Cocoapods)
- 搭載 iOS 12.0 以上版本的 ARKit 相容 Apple 裝置 (必須指定 iOS 12.0 以上版本為部署目標)
使用 Cloud Anchors
以下步驟會使用 Cloud Anchors 範例應用程式,說明設定及建構支援 ARCore Cloud Anchors 的應用程式時的重要工作。
取得 Cloud Anchors 範例應用程式
複製或從 GitHub 下載 iOS 版 ARCore SDK 取得範例應用程式的程式碼
開啟 Terminal 或 Finder 視窗,然後前往複製或下載 SDK 的資料夾。
您可以在
中找到範例應用程式的程式碼/arcore-ios-sdk-master/Examples/CloudAnchorExample
。持續性雲端錨點範例應用程式程式碼位於
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
。
工作階段設定
範例應用程式會在設定 工作階段:
- 建立
GARSession
- 建立
ARSession
並開始執行 - 設定
ARSessionDelegate
。 - 傳遞
ARFrame
設為session:didUpdateFrame:
方法的GARSession
。
設定 Cloud Anchor ID 共用
Cloud Anchors 範例應用程式會使用 Firebase,在以下兩個位置共用 Cloud Anchor ID: 裝置。您可以在自己的應用程式中使用其他解決方案。
如要在範例應用程式中設定 Firebase 資料庫,請按照下列步驟操作:
- 請按照 Firebase 操作說明將 Firebase 新增至應用程式。
- 下載系統在新增時產生的
GoogleService-Info.plist
檔案 由 Firebase 導入您的應用程式。 - 為範例啟用 Firebase 儲存空間:
- 前往 Firebase 控制台,然後選取要用來設定的專案 並下載範例應用程式
- 選取 Database 面板。
- 在 Realtime Database 選項上,按一下 Get Started。
- Security rules for Realtime Database 選單隨即開啟。
- 為了執行範例,請選取 Start in test mode。
- 請注意,如果是打算發布的應用程式使用 Firebase, 建議你使用限制更嚴格的安全性規則
- 在 Xcode 中,將
GoogleService-Info.plist
檔案新增至應用程式,就在Info.plist
。
設定 ARCore API
如要使用 Cloud Anchors,您必須先設定 應用程式的 ARCore API。
執行 Pod 更新
CloudAnchorExample 應用程式隨附 Podfile
,
所需的 ARCore SDK 和 iOS 版本。如要安裝這些依附元件:
- 開啟「終端機」視窗,然後從以下位置的資料夾中執行
pod update
: Xcode 專案已存在。
這會產生.xcworkspace
檔案,您稍後可用來建構及執行應用程式。
請參閱在應用程式中加入 ARCore SDK
,進一步瞭解如何在自己的應用程式中設定 Podfile
。
在 Xcode 中開啟專案的
.xcworkspace
檔案。為避免發生建構錯誤,請務必從
.xcworkspace
檔案建構,而非.xcodeproj
檔案。
變更應用程式套件 ID
在 Xcode 中變更應用程式的軟體包 ID,以便與您的團隊簽署應用程式。
建立應用程式並加以執行
連接裝置,並在 Xcode 中啟動應用程式。
(選用) 如果您要建構及執行範例應用程式,請參閱下文,瞭解如何使用應用程式代管及解析 Cloud Anchor。
試用範例應用程式
透過
.xcworkspace
檔案建構並執行範例應用程式,以便啟動 在您的裝置上。如果出現提示,請將相機權限授予應用程式。然後 ARKit 然後 從攝影機前開始偵測飛機
輕觸 HOST 即可進入主控模式。分享代管錨定廣告的會議室代碼 。
輕觸飛機即可開始代管雲端錨點。
- 應用程式將 Andy Android 物件放到平面上,並附加錨點 先前提過 執行個體對於分配到的外部 IP 位址一無所知
- 主機要求會傳送至 ARCore API 雲端端點。主辦人 要求包含代表錨點位置相對於 周圍的視覺特徵
- 錨點託管後,會取得 ID,用於解析這個空間中的雲端錨點。
輕觸「RESOLVE」並輸入聊天室代碼,即可存取先前的內容 並採用相同或不同的裝置,來為這個聊天室代管 Cloud Anchors。
- 解決要求會傳送至 ARCore API 雲端端點。
- 解析要求包含雲端錨點 ID。如果 ID 與已代管錨點相符,且本地化成功,伺服器會以本機座標傳回錨點的轉換。
- 範例應用程式使用轉換功能將錨點新增至您的場景, 並算繪附加至其的虛擬物件
在應用程式中新增 ARCore SDK
在您自己的應用程式中,您需要更新 Podfile
,以納入 ARCore SDK 和支援的 iOS 版本。操作說明如下:
將下列
platform
和pod
新增至您的 專案的Podfile
:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.46.0'
- 開啟「終端機」視窗,然後從下列資料夾執行
pod update
: 您的 Xcode 專案已經存在
這項操作會產生.xcworkspace
檔案,可用於建構 最終的可執行映像檔 而另一個容器只接收執行應用程式所需的資料
持續性雲端錨點
如「託管具有持續性的 Cloud Anchor」所述,
則最多能保留 365 天的雲端錨點存留時間您可以在 GitHub 上的 iOS 版 ARCore SDK /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
目錄中,找到使用持久雲端錨點的範例程式碼。
後續步驟
請參閱 iOS 版 Cloud Anchors 開發人員指南,瞭解應用程式範例程式碼,以及如何在自家應用程式中使用 Cloud Anchors。
請參閱 ARCore iOS API 參考資料中的詳細說明。