המדריך למתחילים של Cloud anchors ל-Android

כדאי לנסות לארח ולפתור את Cloud anchors באפליקציות לדוגמה cloud_anchor_java ו-persistent_cloud_anchor_java.

באיזו אפליקציה כדאי להשתמש לדוגמה?

עוגנים בענן הם עוגנים שמתארחים בנקודת הקצה בענן של ARCore API. ה-API הזה מאפשר למשתמשים לשתף חוויות באותה אפליקציה. מודעות עוגן בענן הן עוגן עוגן בענן שיכול להתארח למשך יותר מ-24 שעות.

  • persistent_cloud_anchor_java הוא הטמעה של תרחיש לדוגמה של פרויקט משותף. היא משתמשת בהרשאה ללא מפתח כדי לאשר קריאות ל-ARCore API. הוא לא משתמש בקצה עורפי של Firebase כדי לשתף מזהים של עוגן בענן בין מכשירים, ולכן קל יותר להתחיל בעבודה.
  • cloud_anchor_java הוא הטמעה של תרחיש שימוש רב-משתתפים. היא משתמשת במפתח API כדי לאשר קריאות ל-ARCore API.

דרישות מוקדמות

דרישות

חומרה

תוכנות

  • Android Studio בגרסה 3.0 ואילך עם Android SDK Platform בגרסה 7.0 (רמת API 24) ואילך
  • את ARCore SDK ל-Android, אפשר לקבל באחת משתי דרכים:
    • מורידים את הקובץ מ-GitHub ומחלצים אותו מהמחשב
    • משכפלים את המאגר באמצעות הפקודה הבאה:
      git clone https://github.com/google-ar/arcore-android-sdk.git

פתיחת האפליקציה לדוגמה ב-Android Studio

ARCore SDK מספק את האפליקציות לדוגמה cloud_anchor_java ו-persistent_cloud_anchor_java כדי להדגים את הפונקציונליות של Cloud anchors. כדי לפתוח את האפליקציות ב-Android Studio:

עוגנים מתמידים בענן

  1. ב-Android Studio, לוחצים על פתיחה.

  2. מנווטים למקום שבו הספרייה arcore-android-sdk מאוחסנת במחשב. אין לפתוח את כל תיקיית ה-SDK. במקום זאת, עוברים אל samples > persistent_cloud_anchor_java ולוחצים על Open (פתיחה).

עוגנים בענן

  1. ב-Android Studio, לוחצים על פתיחה.

  2. מנווטים למקום שבו הספרייה arcore-android-sdk מאוחסנת במחשב. אין לפתוח את כל תיקיית ה-SDK. במקום זאת, עוברים אל samples > cloud_anchor_java ולוחצים על Open (פתיחה).

הגדרת שיתוף של מזהה עוגן בענן

מזהי עוגן בענן הם מחרוזות שמזהה עוגנים מתארחים בענן. הן משמשות לפתרון או לעיבוד של האובייקטים התלת-ממדיים שמצורפים לעוגנים המתארחים.

עוגנים מתמידים בענן

שיתוף של מזהה עוגן בענן מתוחזק באופן מקומי באפליקציה. לא צריך לעשות כאן שום דבר.

עוגנים בענן

באפליקציה לדוגמה cloud_anchor_java נעשה שימוש במסדי הנתונים של Firebase בזמן אמת כדי לשתף מזהים של עוגן בענן בין מכשירים. אפשר להשתמש בפתרון אחר באפליקציות שלכם.

  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 anchors של האפליקציה. פועלים לפי השלבים במאמר שימוש ב-ARCore API ב-Google Cloud ושימוש בהרשאה ללא מפתח עבור Persistent Cloud anchors או באימות מפתח API עבור Cloud anchors.

יצירה והפעלה של האפליקציה לדוגמה

עוגנים מתמידים בענן

הפעלת האפליקציה

  1. מוודאים שהופעלו במכשיר אפשרויות למפתחים וניפוי באגים ב-USB.
  2. מחברים את המכשיר באמצעות USB למחשב הפיתוח.
  3. ב-Android Studio, בוחרים את המכשיר בתור יעד הפריסה ולוחצים על הפעלה.

persistent_cloud_anchor_java אמור לפעול במכשיר שלך, ולבקש מ-ARCore לזהות את המטוסים מול המצלמה של המכשיר.

אם ההרשאה ב-Google Cloud נכשלה, כדאי לעיין בשלבים לפתרון בעיות.

הצבת עוגן

  1. לאחר שהאפליקציה תתחיל לזהות מטוסים, יש להקיש על המסך כדי להציב עוגן באחד מהמישורים שזוהו.
  2. מקישים על הלחצן HOST כדי לארח את העוגן שהוצב. הפעולה הזו שולחת בקשת מארח ל-ARCore API, שכולל נתונים שמייצגים את מיקום העוגן ביחס לתכונות החזותיות שלידו.

בקשה ממארחת מוצלחת יוצרת עוגן במיקום שנבחר ומקצה לו מזהה עוגן בענן. אם בקשת המארח תאושר, האפליקציה צריכה להציג קוד חדר. אפשר להשתמש בקוד הזה כדי לגשת בכל מכשיר לדפי עוגן שמתארחים בעבר בחדר הזה.

תיקון עוגן

  1. כדי לגשת לעוגנים שמתארחים בחדר הזה, מקישים על RESOLVE ומזינים קוד חדר שהוחזר בעבר. הפעולה הזו שולחת בקשת פענוח ל-ARCore API, שמחזיר את המזהים של כל עוגנים שמתארחים בחדר כרגע. מערכת persistent_cloud_anchor_java תשתמש במזהים האלה כדי לעבד אובייקטים תלת-ממדיים שמצורפים לעוגנים המתארחים.

עוגנים בענן

הפעלת האפליקציה

  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.


הצבת עוגן

  1. לאחר שהאפליקציה תתחיל לזהות מטוסים, יש להקיש על המסך כדי להציב עוגן באחד מהמישורים שזוהו.
  2. מקישים על הלחצן HOST כדי לארח את העוגן שהוצב. הפעולה הזו שולחת בקשת מארח ל-ARCore API, שכולל נתונים שמייצגים את מיקום העוגן ביחס לתכונות החזותיות שלידו.

בקשה מוצלחת של מארח יוצרת עוגן במיקום שמוקם ומקצה לו מזהה Cloud anchors. אם בקשת המארח תאושר, האפליקציה צריכה להציג קוד חדר. אפשר להשתמש בקוד הזה כדי לגשת בכל מכשיר לדפי עוגן שמתארחים בעבר בחדר הזה.

תיקון עוגן

  1. כדי לגשת לעוגנים שמתארחים בחדר הזה, מקישים על RESOLVE ומזינים קוד חדר שהוחזר בעבר. הפעולה הזו שולחת בקשת פענוח ל-ARCore API, שמחזיר את המזהים של כל עוגנים שמתארחים בחדר כרגע. מערכת cloud_anchor_java תשתמש במזהים האלה כדי לעבד אובייקטים תלת-ממדיים שמצורפים לעוגנים המתארחים.

מה השלב הבא?