באפליקציית ה-iOS לדוגמה הזו נעשה שימוש בממשקי Google Home API. במדריך הזה מוסבר איך ליצור את האפליקציה ולהפעיל אותה בפעם הראשונה.
דרישות מוקדמות
חשוב לוודא שאתם עומדים בדרישות המינימליות לשימוש בממשקי Home API ל-iOS.
כדי ליצור ולהתקין את האפליקציה לדוגמה, צריך מחשב עם Xcode בגרסה 15.3 ומעלה.
כדי לבדוק את האפליקציה, צריך:
- חשבון Google.
- מזהה אפל שרשום בתוכנית Apple Developer כדי ליצור קובצי הגדרות של מכשירים פיזיים. אם עדיין לא יצרתם חשבון, תצטרכו לשלם על ההרשמה, והיא עשויה להימשך עד 48 שעות.
- מכשיר iOS (לא סימולטור) עם iOS מגרסה 16.4 ואילך שהוגדר עם חשבון הבדיקה.
- רשת Wi-Fi.
- רכזת Google שתומכת בממשקי ה-API של Home.
- נתב גבולות לפרוטוקול Thread אם המכשיר שלכם דורש Thread והרכזת לא תומכת בו.
- לפחות סוג מכשיר נתמך.
לפיתוח, תצטרכו מחשב Mac שעומד בדרישות הבאות:
- macOS Sonoma ואילך
- Xcode מגרסה 15.3 ואילך
יצירת קובצי תצורה לפריסה של Apple
קודם כל, צריך להפעיל את היכולת App Attest באפליקציה. לכן, אי אפשר לפרוס אותו במכשירי סימולטור. כדי לעשות זאת, צריך ליצור פרופיל הקצאת הרשאות עם ההרשאה App Attest.
שנית, צריך להפעיל את קבוצות האפליקציות כדי לאפשר תקשורת בין האפליקציה לבין MatterExtension
. לשם כך צריך לרשום מזהה של קבוצת אפליקציות.
פרטים נוספים זמינים במאמר של Apple בנושא פרופילים של הקצאת הרשאות יצירת פרופיל הקצאת הרשאות לפיתוח.
אלה השלבים המינימליים שנדרשים כדי לפרוס אפליקציה:
- יוצרים מזהה של קבוצת אפליקציות כדי שהאפליקציה תוכל לתקשר עם
MatterExtension
.- נכנסים ל-Apple Developer Portal.
- מוסיפים מזהה של קבוצת אפליקציות. לדוגמה, יכול להיות שהפורמט יהיה
group.com.company.commissioning
.
- רושמים את מכשיר הבדיקה בחשבון הפיתוח.
יוצרים פרופיל ליעד האפליקציה.
- בוחרים מזהה ייחודי ומתאר לחבילת האפליקציה.
המזהה צריך להיות ייחודי ומתאר. לדוגמה, יכול להיות שהפורמט יהיה
com.company.HomeApiSample
. המזהה הזה ישמש בהמשך הקטע הזה. - רישום מזהה האפליקציה. כשמופיעה בקשה, מוסיפים את היכולות App Attest וApp Groups.
עורכים את מזהה האפליקציה שנוצר ומגדירים את היכולת App Groups כדי להוסיף את המזהה של קבוצת האפליקציות הרשומה.
יוצרים פרופיל הקצאת הרשאות ידנית לפיתוח לפיתוח האפליקציה. משייכים אותו למזהה האפליקציה החדש שנוצר ולמכשירי הבדיקה שנבחרו. מוודאים שיש לכם אישור מפתח לחתימה על האפליקציה.
- אם עדיין לא יצרתם אישור, תוכלו לקרוא את המאמר יצירת אישורים של מזהה מפתח לקבלת הוראות.
- בוחרים מזהה ייחודי ומתאר לחבילת האפליקציה.
המזהה צריך להיות ייחודי ומתאר. לדוגמה, יכול להיות שהפורמט יהיה
יוצרים פרופיל ליעד
MatterExtension
.- בוחרים מזהה של חבילת אפליקציה עבור
MatterExtension
. המזהה צריך להיות מועבר בירושה ממזהה האפליקציה. לדוגמה, אפשר לפרמט אותו כך:com.company.HomeApiSample.MatterExtension
. - רישום מזהה האפליקציה. כשמופיעה בקשה, מוסיפים את היכולת App Group.
- עורכים את מזהה האפליקציה החדש שנוצר ומגדירים את היכולת App Groups כדי להוסיף את מזהה קבוצת האפליקציות הרשום שנוצר בשלבים הקודמים.
- יצירת פרופיל הקצאת הרשאות לפיתוח
בשביל
MatterExtension
.
- בוחרים מזהה של חבילת אפליקציה עבור
יצירת מזהה לקוח ב-OAuth והפעלת ממשקי API של Home
האפליקציה צריכה מזהה לקוח ב-OAuth כדי לזהות את עצמה בשרת הקצה העורפי של Google לאימות. באפליקציות ל-iOS, סוג האפליקציה של מזהה הלקוח ב-OAuth צריך להיות מוגדר כ-iOS. האפליקציה תבצע גם קריאות ל-Home API. כדי להפעיל את הפונקציונליות הזו, צריך להפעיל את ה-API בפרויקט Google Cloud.
יצירת מזהה לקוח OAuth
- במסוף Google Cloud, עוברים אל מרכז הבקרה לבחירת הפרויקט ובוחרים את הפרויקט שבו רוצים להשתמש כדי ליצור פרטי כניסה ל-OAuth.
- כדי לעבור לדף APIs and Services (ממשקי API ושירותים), לוחצים על לחצן התפריט בפינה השמאלית העליונה > View All Products (הצגת כל המוצרים) > APIs & Services (ממשקי API ושירותים).
- בתפריט הניווט, לוחצים על Credentials (פרטי כניסה).
אם עדיין לא הגדרתם את מסך ההסכמה לפרויקט הזה ב-Google Cloud, יופיע הלחצן Configure consent screen (הגדרת מסך ההסכמה). במקרה כזה, צריך להגדיר את מסך ההסכמה באמצעות התהליך הבא. אם מסך בקשת ההסכמה של OAuth כבר הוגדר ומצב הפרסום שלו הוא בדיקה, צריך לוודא שחשבונות הבדיקה שבהם תשתמשו נוספו לקבוצה משתמשי בדיקה. אם לא, עוברים לשלב הבא.
- בהתאם לתרחיש השימוש, בוחרים באפשרות פנימי או חיצוני, ואז לוחצים על יצירה. מוצגת החלונית מסך הסכמה ל-OAuth.
- מזינים את המידע בדף פרטי האפליקציה בהתאם להוראות במסך, ואז לוחצים על שמירה והמשך. יוצג החלונית Scopes (היקפי הרשאות).
- אין צורך להוסיף היקפי הרשאה, אז לוחצים על שמירה והמשך. החלונית משתמשי בדיקה מוצגת.
- אם בחרתם ליצור מסך בקשת הסכמה פנימי, אתם צריכים להוסיף משתמשים כדי לבדוק את הגישה לאפליקציה. לוחצים על הוספת משתמשים. מוצג החלונית הוספת משתמשים. למשתמשי בדיקה יש הרשאה להעניק הרשאות באפליקציה שלכם. בשדה הריק, מוסיפים כתובת אימייל אחת או יותר של חשבון Google ולוחצים על הוספה.
- לוחצים על שמירה והמשך. מוצגת החלונית סיכום.
- בודקים את המידע במסך ההסכמה ל-OAuth ולוחצים על חזרה ללוח הבקרה.
בחלונית התפריטים שמימין, לוחצים על פרטי כניסה כדי ליצור מזהה לקוח OAuth.
- לוחצים על הכפתור CREATE CREDENTIALS (יצירת פרטי כניסה) ובוחרים באפשרות OAuth client ID (מזהה לקוח OAuth).
- בקטע סוג האפליקציה, בוחרים באפשרות iOS.
- מזינים את מזהה החבילה עם מזהה האפליקציה ומזהה הצוות של מפתחי Apple. השדות האחרים הם אופציונליים ואפשר להשאיר אותם ריקים.
- לוחצים על יצירה ורושמים את מזהה הלקוח שנוצר או לוחצים על הורדת PLIST. הערך הזה ישמש בהמשך להפעלת הפונקציונליות של תהליך הענקת ההרשאות. מידע נוסף זמין בקטע יצירת פרטי כניסה להרשאת גישה.
- לוחצים על הכפתור CREATE CREDENTIALS (יצירת פרטי כניסה) ובוחרים באפשרות OAuth client ID (מזהה לקוח OAuth).
הפעלת ממשקי ה-API של דף הבית
מפעילים גישה לממשקי ה-API של Home.
- בכרטיסייה APIs and Services, לוחצים על Enabled APIs & Services.
- לוחצים על ENABLE APIS AND SERVICES (הפעלת ממשקי API ושירותים) בחלק העליון של הדף.
- מחפשים את
HOME API
ובוחרים אותו. - בדף הפרטים של Home API, לוחצים על ENABLE (הפעלה).
הורדת קוד המקור
קוד המקור של האפליקציה לדוגמה זמין ב-GitHub.
מנווטים למקום שבו רוצים לשמור את הפרויקט, ואז משכפלים אותו:
git clone https://github.com/google-home/google-home-api-sample-app-ios.git
כדי לטעון את הפרויקט ב-Xcode, לוחצים על File (קובץ) > Open (פתיחה) ובוחרים באפשרות GoogleHomeAPISampleIOS.xcodeproj
בספריית הבסיס של המאגר המשוכפל.
הגדרת ה-SDK
כדי לבנות את פרויקט אפליקציית הדוגמה, צריך להוסיף כמה פרטים. הפעולות האלה כוללות הוספה מקומית של קובצי ה-Framework של ה-SDK, מילוי הפרטים של מזהה חשבון המפתח ומילוי הפרטים של מזהה הלקוח ב-OAuth.
יצירת האפליקציה
כדי להוריד את Home APIs iOS SDK, קודם צריך להיכנס אל Google Home Developers.
מגדירים את פרויקט Xcode עבור האפליקציה לדוגמה:
בחלונית הניווט של Xcode, בוחרים את הקובץ
GoogleHomeAPISampleIOS
כדי לערוך את הגדרות הפרויקט.לוחצים על הכרטיסייה כללי בחלק העליון ובוחרים את היעד
GoogleHomeAPISampleIOS
בצד ימין.גוללים למטה עד שמגיעים לקטע Frameworks, Libraries, and Embedded Content (מסגרות, ספריות ותוכן מוטמע). שתי מסגרות Home API אמורות להופיע ברשימה.
בעמודה הטמעה, בוחרים באפשרות הטמעה וחתימה עבור
GoogleHomeSDK.xcframework
. את המסגרת השנייה,GoogleHomeTypes.xcframework
, צריך להשאיר במצב Do Not Embed (לא להטמעה).בתחתית הרשימה, לוחצים על סמל +.
כשמופיעה בקשה, מחפשים את
SafariServices.framework
ולוחצים על הוספה. מוודאים שהעמודה Embed מוגדרת לערך Do Not Embed עבור הרשומה הזו.לוחצים על
MatterAddDeviceExtension
בקטע יעד כדי לערוך את היעד.גוללים למטה עד שמגיעים לקטע Frameworks and Libraries (מסגרות וספריות). הערך
GoogleHomeSDK.xcframework
אמור להופיע ברשימה.בעמודה הטמעה, בוחרים באפשרות לא להטמיע.
מגדירים את מזהה המפתח ואת מזהה הלקוח ב-OAuth:
- בחלונית הניווט, מחפשים את התיקייה GoogleHomeAPISampleIOS ופותחים את הקובץ Info.plist לעריכה.
בקובץ Info.plist, מאכלסים את GIDClientID במזהה לקוח OAuth (ראו את הקטע הגדרת הסכמה ל-OAuth), את מספר פרויקט Cloud שמתאים לפרויקט Cloud, ואת GIDTeamID במזהה הצוות של מפתחים ב-Apple של חשבון המפתחים שבו השתמשתם במהלך תהליך ההרשמה ל-OAuth.
הוספת יכולת אימות אפליקציה:
- בחלונית הניווט של Xcode, בוחרים את קובץ הפרויקט
GoogleHomeAPISampleIOS
כדי לערוך את הגדרות הפרויקט. - לוחצים על הכרטיסייה חתימה ויכולות בחלק העליון ובוחרים את
GoogleHomeAPISampleIOS
היעד בצד ימין בקטע 'יעדים'. - מתחת לכרטיסייה 'חתימה ויכולות', לוחצים על + יכולת ומחפשים את App Attest.
- לוחצים על App Attest כדי להוסיף. אם היכולת הזו לא מופיעה בחיפוש, יכול להיות שהיא כבר נוספה לפרויקט.
- בחלונית הניווט של Xcode, בוחרים את קובץ הפרויקט
מוסיפים את היכולת App Groups.
- עוברים לפרויקט GoogleHomeAPISampleIOS > יעד GoogleHomeAPISampleIOS.
- לוחצים על חתימה ויכולות > + יכולת.
- בוחרים את היכולת קבוצות אפליקציות.
- לוחצים על הסמל + בקטע App Groups (קבוצות אפליקציות) ומוסיפים את המזהה של קבוצות האפליקציות של האפליקציה שהוספתם ב-Apple Developer Portal.
- חוזרים על השלבים האלה עבור יעד MatterAddDeviceExtension כדי להוסיף אותו לקבוצות האפליקציות.
עדכון מזהה החבילה
- כדי להריץ ולפרוס בהצלחה את אפליקציית הדוגמה בחומרה באמצעות פרופילים של הקצאת הרשאות ואישורים למפתחים, תצטרכו לספק מזהה חבילה ייחודי. המזהה הזה צריך להיות זהה למזהה שמשויך לפרטי הכניסה של לקוח ה-OAuth (כפי שמופיע למעלה).
- בחלונית הניווט של Xcode, בוחרים את קובץ הפרויקט
GoogleHomeAPISampleIOS
כדי לערוך את הגדרות הפרויקט. - לוחצים על הכרטיסייה חתימה ויכולות בחלק העליון ובוחרים את
GoogleHomeAPISampleIOS
היעד בצד ימין בקטע 'יעדים'. - בוחרים בשדה Bundle Identifier (מזהה חבילה) בקטע Signing (חתימה) ומזינים את המזהה הייחודי של האפליקציה.
- בוחרים או מתקינים את פרופיל ההקצאה שקשור לחבילה עם ההרשאות הנדרשות.
- חוזרים על השלבים האלה עבור
MatterAddDeviceExtension
target כדי להזין את מזהה החבילה של התוסף ולייבא את פרופיל ההקצאה הרשום שלו.
מעדכנים את מזהה קבוצת האפליקציות הרשום בקוד.
- האפליקציה נדרשת להגדיר את מופע ה-SDK כדי להשתמש במזהה של קבוצת האפליקציות לתכונות כמו צירוף מכשיר. מעדכנים את האפליקציה כדי להשתמש במזהה קבוצת האפליקציות שרשום ב-Apple Developer Portal. לשם כך, מחפשים את המחרוזת
HOME_API_TODO_ADD_APP_GROUP
ומחליפים כל מופע שלה במזהה.
ההגדרות האלה מבוצעות בקבצים הבאים:
GoogleHomeAPISampleIOS.swift
כשמאתחלים את ערכת ה-SDK.RequestHandler.swift
CommissioningManager.swift
- האפליקציה נדרשת להגדיר את מופע ה-SDK כדי להשתמש במזהה של קבוצת האפליקציות לתכונות כמו צירוף מכשיר. מעדכנים את האפליקציה כדי להשתמש במזהה קבוצת האפליקציות שרשום ב-Apple Developer Portal. לשם כך, מחפשים את המחרוזת