אפשר לנסות לארח ולפתור עוגנים בענן באפליקציות לדוגמה cloud_anchor_java ו-persistent_cloud_anchor_java.
באיזו אפליקציה לדוגמה כדאי להשתמש?
Cloud Anchors הם עוגנים שמתארחים בנקודת הקצה (endpoint) של הענן של ARCore API. ה-API הזה מאפשר למשתמשים לשתף חוויות באותה אפליקציה. עוגני Cloud Anchors קבועים הם עוגני Cloud Anchors שאפשר לארח במשך יותר מ-24 שעות.
-
persistent_cloud_anchor_javaהוא הטמעה של תרחיש לדוגמה של פרויקט שיתוף פעולה. הוא משתמש בהרשאה ללא מפתח כדי לאשר קריאות ל-ARCore API. היא לא משתמשת בקצה העורפי של Firebase כדי לשתף מזהי עוגנים בענן בין מכשירים, ולכן קל יותר להתחיל להשתמש בה. -
cloud_anchor_javaהוא הטמעה של תרחיש שימוש במשחק מרובה משתתפים. הוא משתמש במפתח API כדי לאשר קריאות ל-ARCore API.
דרישות מוקדמות
- הסבר על האופן שבו פועלים עוגנים ועוגנים בענן.
- מתקינים ומגדירים את ARCore SDK ל-Android.
דרישות
חומרה
- מכשיר שתומך ב-ARCore עם הגרסה העדכנית של שירותי Google Play למציאות רבודה
- כבל USB לחיבור המכשיר למחשב הפיתוח
תוכנה
- 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:
עוגני ענן מתמידים
ב-Android Studio, לוחצים על Open (פתיחה).
עוברים למקום שבו שמור במחשב הספרייה arcore-android-sdk. אל תפתחו את כל תיקיית ה-SDK. במקום זאת, עוברים אל samples (דוגמאות) > persistent_cloud_anchor_java ולוחצים על Open (פתיחה).
עוגנים בענן
ב-Android Studio, לוחצים על Open (פתיחה).
עוברים למקום שבו שמור במחשב הספרייה arcore-android-sdk. אל תפתחו את כל תיקיית ה-SDK. במקום זאת, עוברים אל samples (דוגמאות) > cloud_anchor_java ולוחצים על Open (פתיחה).
הגדרה של שיתוף מזהי עוגנים ב-Cloud
מזהי עוגנים בענן הם מחרוזות שמזהות עוגנים בענן שמתארחים בשרת. הם משמשים לפתרון או להצגה של אובייקטים תלת-ממדיים שמצורפים לעוגנים המארחים.
עוגני ענן מתמידים
שיתוף מזהי העוגנים ב-Cloud מתבצע באופן מקומי באפליקציה. לא נדרשת כאן שום פעולה מצדכם.
עוגנים בענן
אפליקציית הדוגמה cloud_anchor_java משתמשת במסדי נתונים בזמן אמת של Firebase כדי לשתף מזהי עוגנים בענן בין מכשירים. אתם יכולים להשתמש בפתרון אחר באפליקציות שלכם.
- מוסיפים את Firebase לאפליקציה באופן ידני.שם החבילה
cloud_anchor_javaהואcom.google.ar.core.examples.java.cloudanchor. אפשר למצוא אותו בmain/AndroidManifest.xml. - מורידים את הקובץ
google-services.jsonשיצרתם כשאתם מוסיפים את Firebase לאפליקציה. - יוצרים מסד נתונים בזמן אמת באמצעות Firebase.
- ב-Android Studio, מוסיפים את הקובץ
google-services.jsonלספרייהappשל הפרויקט.
הרשאה לקריאות ל-ARCore API
מאשרים קריאות ל-ARCore API כדי לארח ולפתור עוגנים בענן עבור האפליקציה. פועלים לפי השלבים במאמר שימוש ב-ARCore API ב-Google Cloud ומשתמשים בהרשאה ללא מפתח לעוגנים קבועים בענן או בהרשאה באמצעות מפתח API לעוגנים בענן.
פיתוח והרצה של אפליקציה לדוגמה
עוגני ענן מתמידים
הפעלת האפליקציה
- מוודאים שבמכשיר מופעלות האפשרויות למפתחים וניפוי באגים ב-USB.
- חברו את המכשיר למחשב הפיתוח באמצעות USB.
- ב-Android Studio, בוחרים את המכשיר כיעד הפריסה ולוחצים על Run (הפעלה).
persistent_cloud_anchor_java אמורה להיפתח במכשיר, ותוצג בקשה ל-ARCore לזהות את המישורים שמול המצלמה של המכשיר.
אם ההרשאה ל-Google Cloud נכשלת, אפשר לעיין בשלבים לפתרון בעיות.
הצבת נקודת עיגון
- אחרי שהאפליקציה מתחילה לזהות מטוסים, מקישים על המסך כדי להציב עוגן על אחד מהמטוסים שזוהו.
- מקישים על הלחצן HOST כדי לארח את העוגן שהוצב. הפעולה הזו שולחת בקשת מארח אל ARCore API, שכוללת נתונים שמייצגים את מיקום העוגן ביחס לתכונות החזותיות שקרובות אליו.
בקשה מוצלחת למארח יוצרת עוגן במיקום שהוצב ומקצה לו מזהה עוגן בענן. אם הבקשה של המארח תאושר, באפליקציה יוצג קוד החדר. אתם יכולים להשתמש בקוד הזה כדי לגשת לעוגנים שאוחסנו בעבר בחדר הזה בכל מכשיר.
סיום הטיפול בעוגן
- מקישים על פתרון ומזינים קוד חדר שהוחזר בעבר כדי לגשת לעוגנים שמתארחים בחדר הזה. הפעולה הזו שולחת בקשת זיהוי ל-ARCore API, שמחזיר את המזהים של כל העוגנים שמתארחים כרגע בחדר.
persistent_cloud_anchor_javaישתמש במזהים האלה כדי להציג אובייקטים תלת-ממדיים שמצורפים לעוגנים המתארחים.
עוגנים בענן
הפעלת האפליקציה
- מוודאים שבמכשיר מופעלות האפשרויות למפתחים וניפוי באגים ב-USB.
- חברו את המכשיר למחשב הפיתוח באמצעות USB.
- ב-Android Studio, בוחרים את המכשיר כיעד הפריסה ולוחצים על Run (הפעלה).
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.
הצבת נקודת עיגון
- אחרי שהאפליקציה מתחילה לזהות מטוסים, מקישים על המסך כדי להציב עוגן על אחד מהמטוסים שזוהו.
- מקישים על הלחצן HOST כדי לארח את העוגן שהוצב. הפעולה הזו שולחת בקשת מארח אל ARCore API, שכוללת נתונים שמייצגים את מיקום העוגן ביחס לתכונות החזותיות שקרובות אליו.
בקשת אירוח מוצלחת יוצרת עוגן במיקום שהוצב ומקצה לו מזהה Cloud Anchors. אם הבקשה של המארח תאושר, באפליקציה יוצג קוד החדר. אתם יכולים להשתמש בקוד הזה כדי לגשת לעוגנים שאוחסנו בעבר בחדר הזה בכל מכשיר.
סיום הטיפול בעוגן
- מקישים על פתרון ומזינים קוד חדר שהוחזר בעבר כדי לגשת לעוגנים שמתארחים בחדר הזה. הפעולה הזו שולחת בקשת זיהוי ל-ARCore API, שמחזיר את המזהים של כל העוגנים שמתארחים כרגע בחדר.
cloud_anchor_javaישתמש במזהים האלה כדי להציג אובייקטים תלת-ממדיים שמצורפים לעוגנים המתארחים.
השלב הבא
- יוצרים אפליקציית Cloud Anchors באמצעות ה-codelab בנושא ARCore Cloud Anchors עם עוגני Cloud Anchors קבועים.
- במדריך למפתחים בנושא Cloud Anchors מוסבר איך לשלב את התכונה הזו באפליקציה.
- אפשר לנהל עוגני Cloud Anchors מחוץ לאפליקציית ARCore באמצעות Cloud Anchors Management API.