כדי לעמוד בדרישות הפרטיות המעודכנות שלנו לשימוש ב-ARCore SDK 1.12 ואילך, עליך לחשוף את השימוש ב-Cloud Anchors באופן בולט באפליקציה שלך. עיין בדרישות הפרטיות של Cloud Anchors לפרטים.

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

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

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

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

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

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

דרישות

חומרה

תוכנות

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

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

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

עוגנים קבועים בענן

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

  2. עוברים למקום שבו ספריית arcore-android-sdk מאוחסנת במחשב. אין לפתוח את כל התיקייה SDK. במקום זאת, נכנסים לקטע דגימות > persistent_cloud_anchor_JavaScript ולוחצים על פתיחה.

דיני ענן

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

  2. עוברים למקום שבו ספריית arcore-android-sdk מאוחסנת במחשב. אין לפתוח את כל התיקייה SDK. במקום זאת, נכנסים לקטע דגימות > cloud_anchor_JavaScript ולוחצים על פתיחה.

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

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

עוגנים קבועים בענן

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

דיני ענן

האפליקציה לדוגמה של 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 Cloud עוגן API

יש לתת הרשאה ל-ARCore Cloud anchor API לארח ולפתור בעיות ב-Cloud עוגן של האפליקציה שלך.

עוגנים קבועים בענן

שימוש בהרשאה ARCore Cloud API ב-ARCore Cloud שבpersistent_cloud_anchor_java כדי ליצור עוגן בענן עם TTL שנמשכת יותר מ-24 שעות.

  1. מפעילים את ARCore ARCore Cloud anchor API לפרויקט חדש או קיים ב-Google Cloud Platform.
  2. יוצרים מזהה לקוח ב-OAuth לאפליקציית Android שלכם ב-Google Cloud Console, באמצעות מזהה האפליקציה וחתימת SHA-1 של האישור. פעולה זו משייכת את האפליקציה ל-Android בפרויקט ב-Google Cloud Platform.

    כדי לאחזר את טביעת האצבע של אישור חתימת ניפוי הבאגים:

    • פותחים את ארגז הכלים של גראד בפרויקט Android Studio שלכם.
    • מנווטים אל persistent_cloud_anchor_javascript > Tasks > android.
    • מריצים את המשימה SignatureReport.

    • מעתיקים את טביעת האצבע SHA-1 עבור הווריאנט ניפוי באגים בשדה טביעת אצבע לאישור SHA-1 ב-Google Cloud Console.

דיני ענן

יש לתת ל-ARCore Cloud עוגן API עם מפתח API ב-cloud_anchor_java כדי לארח ולפתור בעיות ב-Cloud עוגן עם TTL עד 24 שעות.

  1. מפעילים את ARCore ARCore Cloud anchor API לפרויקט חדש או קיים ב-Google Cloud Platform.
  2. השגת מפתח API לפרויקט הזה ב-Google Cloud Console.
  3. ב-Android Studio, מוסיפים את מפתח ה-API החדש לפרויקט cloud_anchor_java:

    • יש לכלול את מפתח ה-API ברכיב <meta-data> ברכיב <application> באפליקציה app/manifests/AndroidManifest.xml של #:3
    <meta-data
       android:name="com.google.android.ar.API_KEY"
       android:value="API_KEY"/>
    

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

עוגנים קבועים בענן

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

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

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

שגיאה: ERROR_NOT_AUTHORIZED

אם השגיאה הזו מוצגת, צריך לוודא שמזהה הלקוח ב-OAuth נוצר כראוי לאפליקציה:

  • מאתרים את apksigner בספרייה שלך ב-Android SDK build-tools. יש להריץ את apksigner verify --print-certs your-app.apk כדי לאמת שמזהה האפליקציה וחתימת ה-SHA-1 של האפליקציה שלך תואמים לפרטים של מזהה הלקוח ב-OAuth 2.0 בפרויקט Google Cloud Platform.
  • מאתרים את aapt בספרייה build-tools ב-Android SDK. מפעילים את aapt dump badging your-app.apk | grep package: כדי לוודא ששם החבילה של ה-APK המובנה באפליקציה זהה לשם החבילה של Google Cloud Platform.
  • חשוב לוודא ש-ARCore ARCore Cloud עוגן API ב-Google Cloud Platform.

עוגן

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

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

סימון עוגן

  1. מקישים על תשובה ומזינים את קוד החדר שמוחזר בעבר כדי לגשת לעוגנים שמתארחים בחדר הזה. פעולה זו שולחת בקשת פתרון ל-ARCore Cloud API 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. מקישים על הלחצן אירוח כדי לארח את העוגן המוטמע. פעולה זו שולחת בקשת מארח ל-Google Cloud עוגן API, הכולל נתונים שמייצגים את מיקום העוגן ביחס לתכונות החזותיות שבקרבת מקום.

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

סימון עוגן

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

מה השלב הבא?