פתרון בעיות בהרשאה של ARCore API

בחירת פלטפורמה:

הכניסה ללא מפתח לא פועלת (ERROR_NOT_AUTHORIZED)

כשמתקבלת שגיאה ERROR_NOT_AUTHORIZED בתקשורת עם שרת ARCore API, צריך לוודא שהאפליקציה מכילה את הספרייה com.google.android.gms:play-services-auth:

  1. מבצעים Build לאפליקציה ובודקים את הארטיפקט שנוצר באמצעות APK Analyzer. צריך לוודא שקובץ הבינארי של האפליקציה שנוצרה כולל את חבילת com.google.android.gms.auth, ושהתוכן שלה לא משנה את השם או עובר מזעור.
    • אם הוא לא מופיע, צריך לפעול לפי ההוראות שבמאמר הוספת ספריות נדרשות ולוודא שהספרייה כלולה ושהגדרות המיניפיקציה נכונות.
  2. כדי להציג את פרטי האבטחה שקיימים בארטיפקט היעד שנכשל, משתמשים בכלי keytool:

    פריט AAB

    keytool -printcert -jarfile artifact.aab

    פריט מידע שנוצר בתהליך הפיתוח (Artifact) של APK

    keytool -printcert -jarfile artifact.apk
  3. מוודאים שטביעת אצבע לאישור SHA-1 תואמת להסמכה שמשמשת במזהה הלקוח של OAuth 2.0 בפרויקט.

  4. מוודאים שהפעלתם את ARCore API בפרויקט הנכון ב-Google Cloud.

הרשאה ללא מפתח מצליחה בסוגים מסוימים של בנייה (למשל Debug) אבל לא באחרים

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

אי אפשר להשתמש בהרשאה ללא מפתח כשמשתמשים בחתימת אפליקציות ב-Play

אם ההרשאה ללא מפתח פועלת בגרסאות ה-build המקומיות, אבל לא אחרי ההעלאה לחנות Google Play כשהתכונה 'חתימת אפליקציות ב-Play' מופעלת, צריך לוודא שטביעת האצבע לאישור SHA-1 שרשומה בהרשאות של הפרויקט זהה לטביעת האצבע ש-Google משתמשת בה כדי לחתום על האפליקציה:

מידע נוסף זמין במאמר בנושא Play App Signing.

האימות באמצעות מפתח API לא עובד

אם ההרשאה של מפתח ה-API לא פועלת, צריך לבצע את השלבים הבאים: