ARCore Cloud Anchor API หรือบริการ ARCore Cloud Anchor มอบความสามารถของ Cloud Anchor ให้กับแอป iOS ซึ่งช่วยให้ผู้ใช้ในอุปกรณ์ทั้ง iOS และ Android แชร์ประสบการณ์ AR ได้
คู่มือนี้จะแสดงวิธีต่อไปนี้
- ตั้งค่าสภาพแวดล้อมการพัฒนาซอฟต์แวร์ให้ทำงานร่วมกับ Cloud Anchor
- ลองใช้โฮสติ้งและการแก้ไขแอตทริบิวต์แองเคอร์ในแอปตัวอย่าง
ข้อกำหนดเบื้องต้น
- Xcode เวอร์ชัน 13.0 ขึ้นไป
- Cocoapods 1.4.0 ขึ้นไปหากใช้ Cocoapods
- อุปกรณ์ Apple ที่ใช้ ARKit ได้ซึ่งใช้ iOS 12.0 ขึ้นไป (ต้องใช้เป้าหมายการติดตั้งใช้งาน iOS 12.0 ขึ้นไป)
การใช้ Cloud Anchor
ขั้นตอนต่อไปนี้ใช้แอปตัวอย่างหมุดบนระบบคลาวด์เพื่อแสดงงานที่สำคัญสำหรับการกำหนดค่าและสร้างแอปที่รองรับหมุดบนระบบคลาวด์ของ ARCore
ดาวน์โหลดแอปตัวอย่าง Cloud Anchor
โคลนหรือดาวน์โหลด ARCore SDK สําหรับ iOS จาก GitHub เพื่อดูตัวอย่างโค้ดแอป
เปิดหน้าต่างเทอร์มินัลหรือ Finder แล้วไปที่โฟลเดอร์ที่คุณโคลนหรือดาวน์โหลด SDK
คุณดูโค้ดแอปตัวอย่างได้ใน
/arcore-ios-sdk-master/Examples/CloudAnchorExample
โค้ดตัวอย่างแอปหมุดบนระบบคลาวด์แบบถาวรอยู่ใน
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
การตั้งค่าเซสชัน
แอปตัวอย่างจะทํางานสําคัญต่อไปนี้เป็นส่วนหนึ่งของการตั้งค่าเซสชัน
- การสร้าง
GARSession
- การสร้าง
ARSession
และการเรียกใช้ - การตั้งค่า
ARSessionDelegate
- ส่ง
ARFrame
ให้กับGARSession
ในเมธอดsession:didUpdateFrame:
ตั้งค่าการแชร์รหัสหมุดบนระบบคลาวด์
แอปตัวอย่าง Cloud Anchors ใช้ Firebase เพื่อแชร์รหัส Cloud Anchor ระหว่างอุปกรณ์ คุณใช้โซลูชันอื่นในแอปของคุณเองได้
วิธีตั้งค่าฐานข้อมูล Firebase ในแอปตัวอย่าง
- ทําตามวิธีการของ Firebase สําหรับการเพิ่ม Firebase ลงในแอป
- ดาวน์โหลดไฟล์
GoogleService-Info.plist
ที่สร้างขึ้นเมื่อเพิ่ม Firebase ลงในแอป - เปิดใช้พื้นที่เก็บข้อมูล Firebase สําหรับตัวอย่าง ดังนี้
- ไปที่คอนโซล Firebase แล้วเลือกโปรเจ็กต์ที่คุณตั้งค่าไว้สําหรับแอปตัวอย่าง
- เลือกแผง Database
- คลิก Get Started ในตัวเลือก Realtime Database
- เมนู Security rules for Realtime Database จะเปิดขึ้น
- เลือก Start in test mode เพื่อเรียกใช้ตัวอย่าง
- โปรดทราบว่าหากคุณใช้ Firebase สําหรับแอปที่วางแผนจะเผยแพร่ คุณควรใช้กฎความปลอดภัยที่เข้มงวดมากขึ้น
- ใน Xcode ให้เพิ่มไฟล์
GoogleService-Info.plist
ลงในแอปข้างInfo.plist
ตั้งค่า ARCore API
หากต้องการใช้ Cloud Anchors คุณต้องตั้งค่า ARCore API สําหรับแอปพลิเคชันก่อน
เรียกใช้การอัปเดตพ็อด
แอป CloudAnchorExample มาพร้อมกับ Podfile
ที่กําหนดค่าไว้ล่วงหน้าด้วย ARCore SDK และ iOS เวอร์ชันที่คุณต้องการ วิธีติดตั้งการอ้างอิงเหล่านี้
- เปิดหน้าต่างเทอร์มินัลและเรียกใช้
pod update
จากโฟลเดอร์ที่มีโปรเจ็กต์ Xcode
การดำเนินการนี้จะสร้างไฟล์.xcworkspace
ที่คุณจะใช้ในภายหลังเพื่อสร้างและเรียกใช้แอป
ดูรายละเอียดเกี่ยวกับการกำหนดค่า Podfile
ในแอปของคุณเองได้ที่เพิ่ม ARCore SDK ลงในแอป
เปิดไฟล์
.xcworkspace
ของโปรเจ็กต์ใน Xcodeโปรดตรวจสอบว่าคุณสร้างจากไฟล์
.xcworkspace
ไม่ใช่ไฟล์.xcodeproj
เพื่อหลีกเลี่ยงข้อผิดพลาดในการสร้าง
เปลี่ยนรหัส App Bundle
ใน Xcode ให้เปลี่ยนรหัสแพ็กเกจของแอปเพื่อให้คุณลงนามแอปกับทีมได้
สร้างและเรียกใช้แอป
เชื่อมต่ออุปกรณ์และเปิดแอปใน Xcode
(ไม่บังคับ) หากคุณกำลังสร้างและเรียกใช้แอปตัวอย่าง โปรดดูรายละเอียดเกี่ยวกับการใช้แอปเพื่อโฮสต์และแก้ไข Cloud Anchor ในส่วนต่อไปนี้
ลองใช้แอปตัวอย่าง
สร้างและเรียกใช้แอปตัวอย่างจากไฟล์
.xcworkspace
เพื่อเปิดแอปในอุปกรณ์หากได้รับข้อความแจ้ง ให้มอบสิทธิ์เข้าถึงกล้องแก่แอป จากนั้น ARKit จะเริ่มตรวจหาเครื่องบินที่อยู่หน้ากล้อง
แตะ HOST เพื่อเข้าสู่โหมดโฮสติ้ง ระบบจะสร้างรหัสห้องสำหรับการแชร์หมุดที่โฮสต์และแสดงบนหน้าจอ
แตะเครื่องบินเพื่อเริ่มโฮสต์อุปกรณ์ยึดของคลาวด์ที่นั่น
- แอปจะวางวัตถุ Andy Android บนระนาบแล้วแนบจุดยึดไว้
- ระบบจะส่งคำขอโฮสต์ไปยังปลายทางระบบคลาวด์ของ ARCore API คำขอของโฮสต์มีข้อมูลที่แสดงตำแหน่งของจุดยึดสัมพันธ์กับลักษณะที่มองเห็นได้ซึ่งอยู่ใกล้ๆ
- เมื่อโฮสต์หมุดแล้ว หมุดจะได้รับรหัสที่ใช้สำหรับการแก้ไขหมุดบนระบบคลาวด์ในพื้นที่นี้
แตะ RESOLVE และป้อนรหัสห้องเพื่อเข้าถึง Cloud Anchor ที่โฮสต์ไว้ก่อนหน้านี้สำหรับห้องนี้โดยใช้อุปกรณ์เครื่องเดียวกันหรือเครื่องอื่น
- ระบบจะส่งคำขอแก้ไขไปยังปลายทางระบบคลาวด์ของ ARCore API
- คำขอแก้ไขมีรหัสหมุดของข้อมูลในระบบคลาวด์ หากรหัสตรงกับจุดยึดที่โฮสต์อยู่และแปลภาษาสำเร็จ เซิร์ฟเวอร์จะแสดงการเปลี่ยนรูปแบบของจุดยึดในพิกัดท้องถิ่น
- แอปตัวอย่างใช้การเปลี่ยนรูปแบบเพื่อเพิ่มจุดยึดลงในฉากและแสดงผลวัตถุเสมือนที่แนบอยู่
เพิ่ม ARCore SDK ลงในแอป
ในแอปของคุณเอง คุณจะต้องอัปเดต Podfile
ให้รวม ARCore SDK และเวอร์ชัน iOS ที่รองรับ หากต้องการทำสิ่งต่อไปนี้
เพิ่ม
platform
และpod
ต่อไปนี้ลงในPodfile
ของโปรเจ็กต์platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.48.0'
- เปิดหน้าต่างเทอร์มินัลและเรียกใช้
pod update
จากโฟลเดอร์ที่มีโปรเจ็กต์ Xcode
การดำเนินการนี้จะสร้างไฟล์.xcworkspace
ที่คุณใช้สร้างและเรียกใช้แอป
หมุดเมฆแบบถาวร
ตามที่อธิบายไว้ในโฮสต์ Cloud Anchor แบบถาวร คุณสามารถกำหนดเวลาหมดอายุของ Cloud Anchor ได้สูงสุด 365 วัน โค้ดตัวอย่างสำหรับการใช้หมุดยึดบนระบบคลาวด์แบบถาวรอยู่ใน/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
ไดเรกทอรีใน ARCore SDK สําหรับ iOS จาก GitHub
ขั้นตอนถัดไป
ดูคู่มือนักพัฒนาแอปสำหรับ Cloud Anchors สำหรับ iOS เพื่อดูตัวอย่างโค้ดแอปและดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้งาน Cloud Anchors ในแอปของคุณเอง
ดูรายละเอียดในข้อมูลอ้างอิง ARCore iOS API