תכונות ARCore כמו גיאו-מרחבי ב-API וב-Cloud עוגנים משתמשים ARCore API מתארח ב-Google Cloud. בזמן השימוש בתכונות האלה, האפליקציה משתמש בפרטי הכניסה כדי לגשת לשירות ARCore API.
המדריך למתחילים הזה מתאר איך להגדיר את האפליקציה כך לתקשר עם שירות ARCore API שמתארח ב-Google Cloud.
יצירת פרויקט חדש ב-Google Cloud או שימוש בפרויקט קיים
אם יש פרויקט קיים, בוחרים אותו.
אם אין לכם פרויקט ב-Google Cloud, אתם צריכים ליצור פרויקט קיים.
הפעלה של ARCore API
כדי להשתמש ב-ARCore API, צריך להפעיל אותו בפרויקט.
הגדרה של שיטת הרשאה
אפליקציה ל-iOS יכולה לתקשר עם ARCore API באמצעות שיטות הרשאה: הרשאה ללא מפתחות, והשיטה המומלצת, והרשאה באמצעות מפתח API:
- בהרשאה ללא מפתח נעשה שימוש באסימון חתום כדי לשלוט בגישה ל-API. הזה השיטה דורשת שרת שנמצא בבעלותך כדי לחתום על אסימונים ולשלוט בגישה אל ממשק ה-API.
- מפתח API הוא מחרוזת שמזהה פרויקט ב-Google Cloud. מפתחות ה-API הם: בדרך כלל לא נחשבים מאובטחים, כי בדרך כלל הם נגישים ללקוחות. כדאי להשתמש בהרשאת אסימון כדי לתקשר עם ARCore API.
ללא מפתח
ARCore תומך בהרשאה של קריאות ל-API ב-iOS באמצעות (JSON Web) ). האסימון חייב להיות חתום על ידי Google חשבון שירות.
כדי ליצור אסימונים ל-iOS, צריך שתהיה לך נקודת קצה בשרת שעומד בדרישות הבאות:
מנגנון ההרשאה שלכם חייב להגן על נקודת הקצה.
נקודת הקצה צריכה ליצור אסימון חדש בכל פעם, כך:
- כל משתמש מקבל אסימון ייחודי.
- התוקף של האסימונים לא פג באופן מיידי.
יצירת חשבון שירות ומפתח חתימה
כדי ליצור חשבון שירות ומפתח חתימה של Google, יש לפעול לפי השלבים הבאים:
- ב-Google Cloud, פותחים את הדף Credentials.
פרטי כניסה - לוחצים על Create Credentials > חשבון שירות.
- בקטע פרטי חשבון שירות, מקלידים שם לחשבון החדש ולוחצים על יצירה.
- בדף 'הרשאות חשבון שירות', לוחצים על התפריט הנפתח בחירת תפקיד. בוחרים באפשרות חשבונות שירות > יצירת אסימונים בחשבון שירות, ואז לוחצים על המשך.
- בדף Grant users access to this service account, לוחצים על Done.
- בדף Credentials מוצאים את הקטע 'חשבונות שירות' ולוחצים על שם החשבון שאתם יצרתם.
- בדף Service account details, גוללים למטה לקטע 'מפתחות'. בוחרים באפשרות הוספת מפתח > יצירת מפתח חדש.
בוחרים באפשרות JSON בתור סוג המפתח ולוחצים על יצירה.
תתבצע הורדה של קובץ JSON שמכיל את המפתח הפרטי למחשב שלכם. חנות את קובץ מפתח ה-JSON שהורדתם נמצא במיקום מאובטח.
יצירת אסימונים בשרת
כדי ליצור אסימונים חדשים (JWT) בשרת שלכם, צריך להשתמש בקוד ה-JWT הרגיל ספריות ואת קובץ ה-JSON שהורדתם באופן מאובטח מחשבון השירות החדש.
יצירת אסימונים במכונת הפיתוח
כדי ליצור אסימוני JWT במכונת הפיתוח, צריך להשתמש
הפקודה oauth2l
:
oauth2l fetch --cache "" --jwt --json $KEYFILE --audience "https://arcore.googleapis.com/"
ציון מיקום מטמון ריק באמצעות הדגל --cache
הכרחי כדי
להבטיח שיופק אסימון שונה בכל פעם. חשוב להקפיד לחתוך את
המחרוזת שמתקבלת. רווחים מיותרים או תווים בשורה חדשה יגרמו ל-API:
לדחות את האסימון.
חתימה על האסימון
כדי לחתום על ה-JWT, עליכם להשתמש באלגוריתם RS256
ובהצהרות הבאות:
iss
– כתובת האימייל של חשבון השירות.sub
– כתובת האימייל של חשבון השירות.iat
– תקופת הזמן (epoch) של יוניקס שבה נוצר האסימון, בשניות.exp
—iat
+3600
(שעה אחת). נקודת הזמן של מערכת יוניקס (Unix epoch) שבה פג תוקף האסימון, בשניות.aud
– הקהל. צריך להיות מוגדר לערךhttps://arcore.googleapis.com/
.
הצהרות לא סטנדרטיות לא נדרשות במטען הייעודי (payload) של JWT, אבל יכול להיות
ההצהרה uid
שימושית לזיהוי המשתמש המתאים.
אם אתם משתמשים בגישה אחרת כדי ליצור את אסימוני ה-JWT, כמו שימוש API בסביבה שמנוהלת על ידי Google, יש להקפיד לחתום על אסימוני ה-JWT עם ההצהרות בקטע הזה. מעל לכל, חשוב לוודא שהקהל נכון.
העברת האסימון בסשן ARCore
בניית סשן באמצעות
GARSession#sessionWithError:
NSError *error = nil; GARSession *garSession = [GARSession sessionWithError:&error];
כשמקבלים אסימון, מעבירים אותו לסשן באמצעות
setAuthToken:
אחרת, הסשן ישתמש באסימון ההרשאה התקף האחרון. שהעברתם. קוראים לשיטה הזו בכל פעם שמרעננים את האסימון:[garSession setAuthToken: authToken]
האפליקציה שלך מוגדרת עכשיו לשימוש באימות ללא מפתח.
כשמעבירים אסימון לסשן, חשוב לשים לב לדברים הבאים:
אם השתמשתם במפתח API כדי ליצור את הסשן, ARCore תתעלם ולרשום שגיאה.
אם אתם לא צריכים יותר את מפתח ה-API, אפשר למחוק אותו מ-Google Developers המסוף ומסירים אותו אפליקציה.
מערכת ARCore מתעלמת מאסימונים שמכילים רווחים או תווים מיוחדים.
בדרך כלל, תוקף האסימונים פג לאחר שעה. אם יש אפשרות תוקף האסימון עשוי לפוג בזמן השימוש, עליכם לקבל אסימון חדש ולהעביר אותו ל-API.
מפתח ממשק API
- ב-Google Cloud, פותחים את הדף Credentials.
פרטי כניסה - לוחצים על Create credentials ובתפריט בוחרים באפשרות API key.
תיבת הדו-שיח של מפתח API שנוצר מציגה את המחרוזת של המפתח החדש שיצרתם. כשיוצרים
GARSession
, צריך להשתמשGARSession#sessionWithAPIKey:bundleIdentifier:error:
ומזינים את מפתח ה-API:self.garSession = [GARSession sessionWithAPIKey:@"your-api-key" bundleIdentifier:nil error:&error];
- מסמכי העזרה בנושא הגבלות על מפתחות API כדי לאבטח את מפתח ה-API.
האפליקציה שלך מוגדרת עכשיו לשימוש במפתחות API.
המאמרים הבאים
אחרי שההרשאה מוגדרת, אפשר לבדוק את תכונות ARCore הבאות שמשתמשות זה: