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

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

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

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

แท็ก Anchor ของระบบคลาวด์ถาวร

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

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

แท็ก Anchor ของ Cloud

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

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

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

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

แท็ก Anchor ของระบบคลาวด์ถาวร

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

แท็ก Anchor ของ Cloud

แอปตัวอย่าง 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. สร้างฐานข้อมูลแบบเรียลไทม์ด้วย 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

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

แท็ก Anchor ของระบบคลาวด์ถาวร

เรียกใช้แอป

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

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

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

วางแท็ก Anchor

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

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

แก้ปัญหาแท็ก Anchor

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

แท็ก Anchor ของ Cloud

เรียกใช้แอป

  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 คุณสามารถหาค่าที่ถูกต้องสำหรับพร็อพเพอร์ตี้นี้ได้โดยตรวจสอบว่ามีการสร้างและดาวน์โหลด google-services.json ใน Realtime Database แล้ว


วางแท็ก Anchor

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

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

แก้ปัญหาแท็ก Anchor

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

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