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

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

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

Cloud Anchors คือAnchor ที่โฮสต์อยู่ในปลายทางระบบคลาวด์ของ ARCore API API นี้ช่วยให้ผู้ใช้แชร์ประสบการณ์ในแอปเดียวกันได้ Cloud Anchors แบบถาวรคือ Cloud Anchors ที่โฮสต์ได้นานกว่า 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 Anchors แบบถาวร

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

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

Cloud Anchor

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

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

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

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

Cloud Anchors แบบถาวร

ระบบจะจัดการการแชร์รหัส 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 ด้วย Firebase
  4. ใน Android Studio ให้เพิ่มไฟล์ google-services.json ลงในไดเรกทอรี app ของโปรเจ็กต์

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

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

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

Cloud Anchors แบบถาวร

เรียกใช้แอป

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

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

หากการให้สิทธิ์ Google Cloud ล้มเหลว โปรดดูขั้นตอนการแก้ปัญหา

วางจุดยึด

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

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

แก้ไข Anchor

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

Cloud 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


วางจุดยึด

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

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

แก้ไข Anchor

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

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