การเริ่มต้นใช้งาน Cloud Anchor อย่างรวดเร็วสำหรับ Android

ลองโฮสต์และแก้ไข Cloud Anchor ในแอปตัวอย่าง cloud_anchor_java และ persistent_cloud_anchor_java

คุณควรใช้แอปตัวอย่างใด

Cloud Anchor เป็นAnchor ที่โฮสต์ในปลายทางระบบคลาวด์ ARCore API API นี้ช่วยให้ผู้ใช้แชร์ประสบการณ์ในแอปเดียวกันได้ Cloud Anchor แบบถาวรคือ Cloud Anchor ที่สามารถโฮสต์ได้นานกว่า 24 ชั่วโมง

  • persistent_cloud_anchor_java เป็นการปรับใช้กรณีการใช้งานโปรเจ็กต์แบบทำงานร่วมกัน ใช้การให้สิทธิ์แบบไม่ใช้คีย์เพื่อให้สิทธิ์การเรียก ARCore API เนื่องจากไม่ได้ใช้แบ็กเอนด์ของ Firebase เพื่อแชร์รหัส Cloud Anchor ระหว่างอุปกรณ์ จึงสามารถเริ่มต้นใช้งานได้ง่ายขึ้น
  • cloud_anchor_java เป็นการใช้งานกรณีการใช้งานแบบหลายผู้เล่น และใช้คีย์ API เพื่อให้สิทธิ์การเรียก ARCore API

ข้อกำหนดเบื้องต้น

ข้อกำหนด

ฮาร์ดแวร์

ซอฟต์แวร์

  • Android Studio เวอร์ชัน 3.0 ขึ้นไปที่ใช้แพลตฟอร์ม Android SDK เวอร์ชัน 7.0 (API ระดับ 24) ขึ้นไป
  • ARCore SDK สำหรับ Android ซึ่งคุณดูได้ 2 วิธีดังนี้
    • ดาวน์โหลดจาก GitHub และดึงข้อมูลลงในเครื่องของคุณ
    • โคลนที่เก็บด้วยคำสั่งต่อไปนี้
      git clone https://github.com/google-ar/arcore-android-sdk.git

เปิดแอปตัวอย่างใน Android Studio

ARCore SDK มีแอปตัวอย่าง cloud_anchor_java และ persistent_cloud_anchor_java ตัวอย่างเพื่อสาธิตฟังก์ชันการทำงานของ Cloud Anchor ทำตามขั้นตอนต่อไปนี้เพื่อเปิดแอปใน Android Studio

Cloud Anchor แบบถาวร

  1. ใน Android Studio ให้คลิกเปิด

  2. ไปยังตำแหน่งที่เก็บไดเรกทอรี arcore-android-sdk ในเครื่อง อย่าเปิดโฟลเดอร์ SDK ทั้งโฟลเดอร์ ให้ไปที่ตัวอย่าง > แทน persistent_cloud_anchor_java แล้วคลิกเปิด

ตัวยึดระบบคลาวด์

  1. ใน Android Studio ให้คลิกเปิด

  2. ไปยังตำแหน่งที่เก็บไดเรกทอรี arcore-android-sdk ในเครื่อง อย่าเปิดโฟลเดอร์ SDK ทั้งโฟลเดอร์ ให้ไปที่ตัวอย่าง > แทน cloud_anchor_java แล้วคลิกเปิด

ตั้งค่าการแชร์รหัส Cloud Anchor

รหัส Cloud Anchor คือสตริงที่ระบุ Cloud Anchor ที่โฮสต์ไว้ โดยจะใช้เพื่อแก้ไขหรือแสดงผลวัตถุ 3 มิติที่ติดอยู่กับ Anchor ที่โฮสต์ไว้

Cloud Anchor แบบถาวร

การแชร์รหัส Cloud Anchor จะได้รับการเก็บรักษาไว้ภายในแอป คุณไม่จำเป็นต้องดำเนินการใดๆ ที่นี่

ตัวยึดระบบคลาวด์

แอปตัวอย่าง cloud_anchor_java ใช้ฐานข้อมูลแบบเรียลไทม์ของ Firebase เพื่อแชร์รหัส Cloud Anchor ระหว่างอุปกรณ์ คุณใช้โซลูชันอื่นในแอปของตัวเองได้

  1. เพิ่ม Firebase ลงในแอปด้วยตนเอง ชื่อแพ็กเกจ cloud_anchor_java คือ com.google.ar.core.examples.java.cloudanchor ซึ่งดูได้ใน main/AndroidManifest.xml
  2. ดาวน์โหลดไฟล์ google-services.json ที่คุณสร้างขึ้นเมื่อเพิ่ม Firebase ลงในแอป
  3. สร้าง Realtime Database ด้วย Firebase
  4. ใน Android Studio ให้เพิ่มไฟล์ google-services.json ในไดเรกทอรี app ของโปรเจ็กต์

ให้สิทธิ์การเรียก ARCore API

ให้สิทธิ์การเรียกไปยัง ARCore API เพื่อโฮสต์และแก้ปัญหา Cloud Anchor สำหรับ แอป ทำตามขั้นตอนสำหรับใช้ ARCore API ใน Google Cloud และใช้ Keyless การให้สิทธิ์สำหรับ Persistent Cloud Anchor หรือการให้สิทธิ์คีย์ API สำหรับ Cloud Anchor

สร้างและเรียกใช้แอปตัวอย่าง

Cloud Anchor แบบถาวร

เรียกใช้แอป

  1. ตรวจสอบว่าอุปกรณ์ของคุณเปิดใช้ตัวเลือกสำหรับนักพัฒนาแอปและการแก้ไขข้อบกพร่อง USB แล้ว
  2. เชื่อมต่ออุปกรณ์ผ่าน USB กับเครื่องพัฒนา
  3. ใน Android Studio ให้เลือกอุปกรณ์ของคุณเป็นเป้าหมายการทำให้ใช้งานได้ แล้วคลิกเรียกใช้

persistent_cloud_anchor_java ควรเปิดขึ้นมาในอุปกรณ์เพื่อเตือนให้ ARCore ตรวจหาเครื่องบินที่อยู่หน้ากล้องของอุปกรณ์

หากให้สิทธิ์ Google Cloud ไม่สำเร็จ โปรดดูขั้นตอนการแก้ปัญหา

วาง Anchor

  1. เมื่อแอปเริ่มตรวจพบระนาบ ให้แตะหน้าจอเพื่อวางจุดยึดบนระนาบที่ตรวจพบ
  2. แตะปุ่มโฮสต์เพื่อโฮสต์ Anchor ที่วางไว้ การดำเนินการนี้จะส่งคำขอโฮสต์ไปยัง ARCore API ที่มีข้อมูลที่แสดงตำแหน่งของ Anchor ที่เกี่ยวข้องกับฟีเจอร์ภาพที่อยู่ใกล้กับแท็ก

คำขอของโฮสต์ที่ดำเนินการสำเร็จจะสร้าง Anchor ที่ตำแหน่งที่วางและกำหนดรหัส Cloud Anchor ให้ หากคำขอของโฮสต์สำเร็จ แอปควรแสดงรหัสห้อง คุณสามารถใช้รหัสนี้เพื่อเข้าถึง Anchor ที่โฮสต์ไว้ก่อนหน้านี้สําหรับห้องนี้ในอุปกรณ์ใดก็ได้

แก้ไขแท็ก Anchor

  1. แตะแก้ปัญหา แล้วป้อนรหัสห้องที่ส่งกลับมาก่อนหน้านี้เพื่อเข้าถึง Anchor ที่โฮสต์ในห้องนี้ การดำเนินการนี้จะส่งคำขอแก้ไขไปยัง ARCore API ซึ่งจะส่งกลับรหัส Anchor ทั้งหมดที่โฮสต์ในห้องอยู่ในปัจจุบัน persistent_cloud_anchor_java จะใช้รหัสเหล่านี้เพื่อแสดงออบเจ็กต์ 3 มิติที่แนบอยู่กับ Anchor ที่โฮสต์ไว้

ตัวยึดระบบคลาวด์

เรียกใช้แอป

  1. ตรวจสอบว่าอุปกรณ์ของคุณเปิดใช้ตัวเลือกสำหรับนักพัฒนาแอปและการแก้ไขข้อบกพร่อง USB แล้ว
  2. เชื่อมต่ออุปกรณ์ผ่าน USB กับเครื่องพัฒนา
  3. ใน Android Studio ให้เลือกอุปกรณ์ของคุณเป็นเป้าหมายการทำให้ใช้งานได้ แล้วคลิกเรียกใช้

cloud_anchor_java ควรเปิดขึ้นมาในอุปกรณ์เพื่อเตือนให้ ARCore ตรวจหาเครื่องบินที่อยู่หน้ากล้องของอุปกรณ์

ข้อผิดพลาด: com.google.firebase.database.DatabaseException: Failed to get FirebaseDatabase instance: Specify DatabaseURL within FirebaseApp or from your getInstance

หากพบข้อผิดพลาดนี้ ให้ตรวจสอบว่ามีพร็อพเพอร์ตี้ firebase_url อยู่ใน google-services.json คุณจะรับค่าที่ถูกต้องสำหรับพร็อพเพอร์ตี้นี้ได้โดยการตรวจสอบว่าได้สร้าง Realtime Database และดาวน์โหลด google-services.json แล้ว


วาง Anchor

  1. เมื่อแอปเริ่มตรวจพบระนาบ ให้แตะหน้าจอเพื่อวางจุดยึดบนระนาบที่ตรวจพบ
  2. แตะปุ่มโฮสต์เพื่อโฮสต์ Anchor ที่วางไว้ การดำเนินการนี้จะส่งคำขอโฮสต์ไปยัง ARCore API ที่มีข้อมูลที่แสดงตำแหน่งของ Anchor ที่เกี่ยวข้องกับฟีเจอร์ภาพที่อยู่ใกล้กับแท็ก

คำขอของโฮสต์ที่ดำเนินการสำเร็จจะสร้าง Anchor ที่ตำแหน่งที่วางและกำหนดรหัส Cloud Anchor ให้ หากคำขอของโฮสต์สำเร็จ แอปควรแสดงรหัสห้อง คุณสามารถใช้รหัสนี้เพื่อเข้าถึง Anchor ที่โฮสต์ไว้ก่อนหน้านี้สําหรับห้องนี้ในอุปกรณ์ใดก็ได้

แก้ไขแท็ก Anchor

  1. แตะแก้ปัญหา แล้วป้อนรหัสห้องที่ส่งกลับมาก่อนหน้านี้เพื่อเข้าถึง Anchor ที่โฮสต์ในห้องนี้ การดำเนินการนี้จะส่งคำขอแก้ไขไปยัง ARCore API ซึ่งจะส่งกลับรหัส Anchor ทั้งหมดที่โฮสต์ในห้องอยู่ในปัจจุบัน cloud_anchor_java จะใช้รหัสเหล่านี้เพื่อแสดงออบเจ็กต์ 3 มิติที่แนบอยู่กับ Anchor ที่โฮสต์ไว้

สิ่งที่จะเกิดขึ้นหลังจากนี้