הנעילה ללא מפתח לא פועלת (ERROR_NOT_AUTHORIZED
)
אם מתקבלת השגיאה ERROR_NOT_AUTHORIZED
בתקשורת עם שרת ARCore API, צריך לוודא שהאפליקציה מכילה את הספרייה com.google.android.gms:play-services-auth
:
- בונים את האפליקציה ובודקים את הארטיפקט שנוצר באמצעות APK Analyzer. מוודאים שהקובץ הבינארי של האפליקציה שנוצר כולל את החבילה
com.google.android.gms.auth
, ושלא בוצע שינוי לשם או למינימציה של התוכן שלה.- אם היא לא מופיעה, פועלים לפי ההוראות במאמר הכללת ספריות נדרשות ומוודאים שהספרייה כלולה והגדרות המיקוד נכונות.
מציגים את פרטי האבטחה שנמצאים באובייקט היעד הפגום באמצעות הכלי
keytool
:keytool -printcert -jarfile artifact.aab
keytool -printcert -jarfile artifact.apk
מוודאים שטביעת האצבע של אישור SHA-1 תואמת לפרטי הכניסה שמשמשים במזהה הלקוח של OAuth 2.0 בפרויקט.
מוודאים שהפעלתם את ARCore API בפרויקט הנכון ב-Google Cloud.
האישור ללא מפתחות מצליח בחלק מסוגי ה-build (למשל, Debug), אבל לא באחרים
אם ההרשאה ללא מפתחות מצליחה בגרסאות build מסוימות אבל לא בגרסאות אחרות, צריך לוודא שהטביעת האצבע שמופיעה ב-artifact שנכשל תואמת לטביעת האצבע שמופיעה במסוף 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 שמופיע בפרטי הכניסה של הפרויקט תואם בדיוק למפתח ה-API שבו האפליקציה משתמשת, ללא רווחים או תווים אחרים.