אפליקציית ה-iOS לדוגמה הזו משתמשת בממשקי Google Home API. במדריך הזה מוסבר איך ליצור את האפליקציה ולהפעיל אותה בפעם הראשונה.
דרישות מוקדמות
מוודאים שאתם עומדים בדרישות המינימליות לשימוש בממשקי Home API ל-iOS.
כדי ליצור ולהתקין את האפליקציה לדוגמה, צריך מחשב שמותקנת בו גרסה 15.3 ואילך של Xcode.
כדי לבדוק את האפליקציה, צריך:
- חשבון Google.
- מזהה אפל שרשום לתוכנית Apple Developer כדי ליצור קובצי הגדרה של מכשירים פיזיים. אם עדיין לא יצרתם חשבון, ההרשמה כרוכה בעלות נוספת ועשויה להימשך עד 48 שעות.
- מכשיר iOS (לא סימולטור) עם iOS מגרסה 16.4 ואילך, שמוגדר עם חשבון הבדיקה.
- רשת Wi-Fi.
- מרכז Google שתומך בממשקי ה-API של Home.
- Thread Border Router (TBR) אם המכשיר דורש Thread והרכזת לא תומכת בפרוטוקול הזה.
- לפחות סוג מכשיר נתמך אחד.
לפיתוח, תצטרכו מחשב Mac שעומד בדרישות הבאות:
- macOS Sonoma ואילך
- Xcode 15.3 ואילך
יצירת קובצי תצורה לפריסה של אפל
קודם כל, צריך להפעיל באפליקציה את היכולת App Attest. לכן אי אפשר לפרוס אותו במכשירי סימולטור. כדי לעשות זאת, צריך ליצור פרופיל הקצאת הרשאות עם ההרשאה App Attest.
שנית, צריך להפעיל את App Groups כדי לאפשר תקשורת בין האפליקציה לבין MatterExtension. לשם כך צריך לרשום מזהה של קבוצת אפליקציות.
לפרטים נוספים, קראו את המאמר Create a development provisioning profile של אפל בנושא פרופילי הקצאה.
אלה השלבים המינימליים שנדרשים כדי לפרוס אפליקציה:
- יוצרים מזהה של קבוצת אפליקציות כדי שהאפליקציה תוכל לתקשר עם
MatterExtension.- נכנסים לפורטל המפתחים של אפל.
- מוסיפים מזהה של קבוצת אפליקציות. לדוגמה, אפשר לעצב אותו כך:
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 והפעלת ממשקי Home API
האפליקציה צריכה מזהה לקוח ב-OAuth כדי לזהות את עצמה בשרת הקצה העורפי של אימות Google. ב-iOS ובאפליקציות, סוג האפליקציה של מזהה הלקוח ב-OAuth צריך להיות מוגדר כ-iOS. האפליקציה גם תשלח קריאות ל-Home API. כדי להפעיל את הפונקציונליות הזו, צריך להפעיל את ה-API בפרויקט Google Cloud.
יצירת מזהה הלקוח ב-OAuth
- במסוף Google Cloud, עוברים אל לוח הבקרה של בחירת הפרויקט ובוחרים את הפרויקט שבו רוצים להשתמש כדי ליצור פרטי כניסה ל-OAuth.
- עוברים לדף APIs and Services: לוחצים על כפתור התפריט בפינה הימנית העליונה > View All Products > APIs & Services.
- בתפריט הניווט, לוחצים על Credentials.
אם עדיין לא הגדרתם את מסך ההסכמה לפרויקט הזה ב-Google Cloud, יופיע הכפתור Configure consent screen. במקרה כזה, מגדירים את מסך ההסכמה לפי ההוראות הבאות. אם מסך ההסכמה של OAuth כבר הוגדר וסטטוס הפרסום שלו הוא בדיקה, צריך לוודא שחשבונות הבדיקה שבהם תשתמשו נוספו לקבוצה משתמשי בדיקה. אם לא, עוברים לשלב הבא.
- בהתאם לתרחיש השימוש, בוחרים באפשרות פנימי או חיצוני, ואז לוחצים על יצירה. מוצגת החלונית OAuth consent screen (מסך ההסכמה ל-OAuth).
- מזינים את המידע בדף פרטי האפליקציה לפי ההוראות במסך, ולוחצים על שמירה והמשך. החלונית Scopes נפתחת.
- אין צורך להוסיף היקפי הרשאות, אז לוחצים על שמירה והמשך. החלונית Test users מוצגת.
- אם בחרתם ליצור מסך הסכמה פנימי, עליכם להוסיף משתמשים כדי לבדוק את הגישה לאפליקציה. לוחצים על הוספת משתמשים. מוצג החלונית הוספת משתמשים. למשתמשי הבדיקה יש הרשאה להעניק הרשאות באפליקציה. בשדה הריק, מוסיפים כתובת האימייל בחשבון Google אחת או יותר, ואז לוחצים על הוספה.
- לוחצים על שמירה והמשך. מוצגת החלונית Summary (סיכום).
- בודקים את המידע במסך ההסכמה ל-OAuth ולוחצים על חזרה ללוח הבקרה.
בחלונית התפריט השמאלית, לוחצים על Credentials (פרטי כניסה) כדי ליצור מזהה לקוח OAuth.

- לוחצים על הכפתור CREATE CREDENTIALS ובוחרים באפשרות OAuth client ID.
- בקטע סוג האפליקציה, בוחרים באפשרות iOS.
- מזינים את מזהה החבילה עם מזהה האפליקציה ועם Apple Developer Team ID. השדות האחרים הם אופציונליים ואפשר להשאיר אותם ריקים.
- לוחצים על CREATE ורושמים את מזהה הלקוח שנוצר, או לוחצים על DOWNLOAD PLIST. הוא ישמש בהמשך להפעלת הפונקציונליות של תהליך ההרשאות. מידע נוסף זמין בקטע יצירת פרטי הרשאה.
- לוחצים על הכפתור CREATE CREDENTIALS ובוחרים באפשרות OAuth client ID.
הפעלת ממשקי ה-API של Home
מפעילים גישה לממשקי ה-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 עבור אפליקציית הדוגמה:
- פורקים את ה-SDK שהורדתם לתיקייה
ThirdParty/GoogleHomeSDKביחס לתיקיית השורש של הפרויקט. - מגדירים את מזהה המפתח ואת מזהה הלקוח ב-OAuth:
- בחלונית הניווט, מחפשים את התיקייה GoogleHomeAPISampleIOS ופותחים את הקובץ Info.plist לעריכה.
בקובץ Info.plist, מאכלסים את GIDClientID במזהה הלקוח ב-OAuth (ראו את הקטע הגדרת הסכמת OAuth), את Cloud Project Number שתואם לפרויקט בענן, ואת GIDTeamID ב-Apple Developer Team ID של חשבון הפיתוח ששימש בתהליך הרישום ל-OAuth.
מוסיפים את היכולת App Attest:
- בחלונית הניווט של Xcode, בוחרים את קובץ הפרויקט
GoogleHomeAPISampleIOSכדי לערוך את הגדרות הפרויקט. - לוחצים על הכרטיסייה Signing and Capabilities בחלק העליון ובוחרים את היעד
GoogleHomeAPISampleIOSבצד שמאל בקטע TARGETS. - מתחת לכרטיסייה Signing and Capabilities, לוחצים על + Capability ומחפשים את App Attest.
- לוחצים על App Attest כדי להוסיף. אם היכולת הזו לא מופיעה בחיפוש, יכול להיות שהיא כבר נוספה לפרויקט.
- בחלונית הניווט של Xcode, בוחרים את קובץ הפרויקט
מוסיפים את היכולת קבוצות של אפליקציות.

- עוברים לפרויקט GoogleHomeAPISampleIOS > היעד GoogleHomeAPISampleIOS.
- לוחצים על Signing & Capabilities (חתימה ויכולות) > + Capability (יכולת).
- בוחרים ביכולת קבוצות של אפליקציות.
- לוחצים על הסמל + בקטע App Groups (קבוצות אפליקציות) ומוסיפים את מזהה קבוצות האפליקציות של האפליקציה שהוספתם בפורטל Apple Developer.
- חוזרים על השלבים האלה עבור יעד MatterAddDeviceExtension כדי להוסיף אותו אל App Groups.
עדכון מזהה החבילה
- כדי להפעיל ולפרוס את האפליקציה לדוגמה בחומרה באמצעות אישורי המפתחים ופרופילי ההקצאה, צריך לספק מזהה חבילה ייחודי. זה צריך להיות אותו מזהה שמשויך לפרטי הכניסה של לקוח OAuth (כפי שמוסבר למעלה).
- בחלונית הניווט של Xcode, בוחרים את קובץ הפרויקט
GoogleHomeAPISampleIOSכדי לערוך את הגדרות הפרויקט. - לוחצים על הכרטיסייה חתימה ויכולות בחלק העליון ובוחרים את
GoogleHomeAPISampleIOSהיעד בצד ימין בקטע 'יעדים'. - בוחרים בשדה Bundle Identifier (מזהה החבילה) בקטע Signing (חתימה) ומזינים את המזהה הייחודי של האפליקציה.
- בוחרים או מתקינים את פרופיל הקצאת ההרשאות שקשור לחבילה הזו עם ההרשאות הנדרשות.
- חוזרים על השלבים האלה לגבי היעד
MatterAddDeviceExtensionכדי להזין את מזהה החבילה של התוסף ולייבא את פרופיל ההקצאה הרשום שלו.
מעדכנים בקוד את המזהה הרשום של קבוצת האפליקציות.
- האפליקציה נדרשת כדי להגדיר את מופע ה-SDK לשימוש במזהה של קבוצת האפליקציות לתכונות כמו הפעלת מכשיר. מעדכנים את האפליקציה כדי להשתמש במזהה קבוצת האפליקציות שרשום בפורטל המפתחים של אפל. כדי לעשות את זה, מחפשים את המחרוזת
HOME_API_TODO_ADD_APP_GROUPומחליפים כל מופע שלה במזהה.
ההגדרות האלה מתבצעות בקבצים הבאים:
GoogleHomeAPISampleIOS.swiftכשמאתחלים את ה-SDK.RequestHandler.swiftCommissioningManager.swift
- האפליקציה נדרשת כדי להגדיר את מופע ה-SDK לשימוש במזהה של קבוצת האפליקציות לתכונות כמו הפעלת מכשיר. מעדכנים את האפליקציה כדי להשתמש במזהה קבוצת האפליקציות שרשום בפורטל המפתחים של אפל. כדי לעשות את זה, מחפשים את המחרוזת
מגדירים את היקף ההרשאות של OAuth ב-
GoogleHomeAPISampleIOS.swift. כברירת מחדל, קוד המקור של אפליקציית הדוגמה משתמש בהיקף ההרשאותhttps://www.googleapis.com/auth/home.platform.v2. הרבה תכונות באפליקציה לדוגמה מוגבלות על ידי ההיקףhome.platform.v2, וצריך אישור מהשותף כדי לגשת אליהן. כדי להריץ את אפליקציית הדוגמה עם ההיקף הרגילhttps://www.googleapis.com/auth/home.platform.selected.devices, פותחים אתGoogleHomeAPISampleIOS.swiftומשנים אתhomePlatformOAuthScopeב-Home.configureל-HomePlatformOAuthScope.v1:Home.configure { $0.sharedAppGroup = "HOME_API_TODO_ADD_APP_GROUP" $0.homePlatformOAuthScope = HomePlatformOAuthScope.v1 ... }