הכניסה ללא מפתח לא פועלת (ERROR_NOT_AUTHORIZED)
כשמתקבלת שגיאה ERROR_NOT_AUTHORIZED בתקשורת עם שרת ARCore API, צריך לוודא שהאפליקציה מכילה את הספרייה com.google.android.gms:play-services-auth:
- מבצעים Build לאפליקציה ובודקים את הארטיפקט שנוצר באמצעות APK
Analyzer. צריך לוודא שקובץ הבינארי של האפליקציה שנוצרה כולל את חבילת
com.google.android.gms.auth, ושהתוכן שלה לא משנה את השם או עובר מזעור.- אם הוא לא מופיע, צריך לפעול לפי ההוראות שבמאמר הוספת ספריות נדרשות ולוודא שהספרייה כלולה ושהגדרות המיניפיקציה נכונות.
כדי להציג את פרטי האבטחה שקיימים בארטיפקט היעד שנכשל, משתמשים בכלי
keytool:פריט AAB
keytool -printcert -jarfile artifact.aab
פריט מידע שנוצר בתהליך הפיתוח (Artifact) של APK
keytool -printcert -jarfile artifact.apk
מוודאים שטביעת אצבע לאישור SHA-1 תואמת להסמכה שמשמשת במזהה הלקוח של OAuth 2.0 בפרויקט.
מוודאים שהפעלתם את ARCore API בפרויקט הנכון ב-Google Cloud.
הרשאה ללא מפתח מצליחה בסוגים מסוימים של בנייה (למשל Debug) אבל לא באחרים
אם אימות ללא מפתח מצליח בחלק מהגרסאות אבל לא באחרות, צריך לוודא שהטביעת אצבע שמופיעה בארטיפקט שנכשל זהה לטביעת האצבע שמופיעה במסוף Google Cloud. במאמר ההרשאה ללא מפתח לא פועלת מוסבר איך לוודא שטביעת האצבע של מפתח החתימה של הארטיפקט תואמת לטביעת האצבע שמופיעה ב-Google Cloud.
אי אפשר להשתמש בהרשאה ללא מפתח כשמשתמשים בחתימת אפליקציות ב-Play
אם ההרשאה ללא מפתח פועלת בגרסאות ה-build המקומיות, אבל לא אחרי ההעלאה לחנות Google Play כשהתכונה 'חתימת אפליקציות ב-Play' מופעלת, צריך לוודא שטביעת האצבע לאישור SHA-1 שרשומה בהרשאות של הפרויקט זהה לטביעת האצבע ש-Google משתמשת בה כדי לחתום על האפליקציה:
- בדף חתימת האפליקציה ב-Google Play, גוללים אל אישור של מפתח חתימת האפליקציה. שימו לב לטביעת האצבע לאישור SHA-1.
- יוצרים מזהה לקוח חדש של OAuth 2.0 באמצעות טביעת האצבע של אישור SHA-1 מהשלב הקודם.
מידע נוסף זמין במאמר בנושא Play App Signing.
האימות באמצעות מפתח API לא עובד
אם ההרשאה של מפתח ה-API לא פועלת, צריך לבצע את השלבים הבאים:
- מוודאים שהפעלתם את ARCore API בפרויקט הנכון ב-Google Cloud.
- אם הפעלתם הגבלות על מפתח ה-API, עליכם להשבית אותן באופן זמני.
- מוודאים שמפתח ה-API שמופיע בכרטיסייה Credentials (פרטי כניסה) של הפרויקט זהה בדיוק למפתח ה-API שבו האפליקציה משתמשת, בלי רווחים או תווים אחרים.