האפליקציה הזו לדוגמה ל-iOS משתמשת בממשקי Google Home API. המדריך הזה יעזור לכם לבנות את האפליקציה ולהפעיל אותה בפעם הראשונה.
דרישות מוקדמות
מוודאים שאתם עומדים בדרישות המינימליות לשימוש בממשקי Home API ל-iOS.
כדי ליצור ולהתקין את האפליקציה לדוגמה, צריך מחשב שמותקנת בו גרסה 15.3 ואילך של Xcode.
כדי לבדוק את האפליקציה, צריך:
- חשבון Google.
- Apple ID שרשום ב-Apple Developer Program כדי ליצור קובצי תצורה של מכשירים פיזיים. אם עדיין לא יצרתם חשבון, ההרשמה כרוכה בעלות נוספת ויכולה להימשך עד 48 שעות.
- מכשיר iOS (לא סימולטור) עם iOS מגרסה 16.4 ואילך, שמוגדר עם חשבון הבדיקה.
- רשת Wi-Fi.
- רכזת של Google שתומכת ב-Home API.
- 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
כדי שהאפליקציה תזדהה מול הקצה העורפי של האימות ב-Google, היא צריכה מזהה לקוח OAuth. ב-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 כבר הוגדר וסטטוס הפרסום שלו הוא Testing, ודאו שחשבונות הבדיקה שבהם תשתמשו נוספו לקבוצה Test users. אם לא, עוברים לשלב הבא.
- בהתאם לתרחיש לדוגמה, בוחרים באפשרות Internal או External ולוחצים על Create. מופיע החלונית מסך הסכמה של OAuth.
- מזינים את המידע בדף פרטי האפליקציה לפי ההוראות במסך, ולוחצים על שמירה והמשך. החלונית Scopes נפתחת.
- אין צורך להוסיף היקפי הרשאות, אז לוחצים על שמירה והמשך. החלונית Test users מוצגת.
- אם בחרתם ליצור מסך הסכמה פנימי, אתם צריכים להוסיף משתמשים כדי לבדוק את הגישה לאפליקציה. לוחצים על Add users. החלונית Add users נפתחת. למשתמשי הבדיקה יש הרשאה להעניק הרשאות באפליקציה. בשדה הריק, מוסיפים כתובת האימייל בחשבון Google אחת או יותר, ואז לוחצים על הוספה.
- לוחצים על שמירה והמשך. החלונית Summary נפתחת.
- בודקים את הפרטים במסך ההסכמה ל-OAuth ולוחצים על Back to dashboard.
בחלונית התפריט שמימין, לוחצים על Credentials כדי ליצור את מזהה הלקוח ב-OAuth.

- לוחצים על הכפתור CREATE CREDENTIALS ובוחרים באפשרות OAuth client ID.
- בקטע סוג האפליקציה, בוחרים באפשרות iOS.
- מזינים את מזהה החבילה עם מזהה האפליקציה ומזהה הצוות של Apple Developer. השדות האחרים הם אופציונליים ואפשר להשאיר אותם ריקים.
- לוחצים על CREATE ורושמים את מזהה הלקוח שנוצר, או לוחצים על DOWNLOAD PLIST. הוא ישמש בהמשך להפעלת הפונקציונליות של תהליך ההרשאות. מידע נוסף זמין בקטע יצירת פרטי כניסה לאימות.
- לוחצים על הכפתור CREATE CREDENTIALS ובוחרים באפשרות OAuth client ID.
הפעלת ממשקי ה-API של Home
מפעילים את הגישה ל-Home APIs.
- בכרטיסייה APIs and Services, לוחצים על Enabled APIs & Services.
- לוחצים על ENABLE APIS AND SERVICES בחלק העליון של הדף.
- מחפשים את
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 לפרויקט
כדי ליצור את הפרויקט של אפליקציית הדוגמה, צריך להוסיף עוד כמה פרטים. זה כולל הוספה מקומית של קובצי ה-SDK Framework, מילוי פרטי המזהה של חשבון הפיתוח ומילוי מזהה הלקוח ב-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כדי לערוך את הגדרות הפרויקט. - לוחצים על הכרטיסייה Signing and Capabilities בחלק העליון ובוחרים את היעד
GoogleHomeAPISampleIOSבצד שמאל בקטע TARGETS. - בקטע Signing, בוחרים בשדה Bundle Identifier ומזינים את המזהה הייחודי של האפליקציה.
- בוחרים או מתקינים את פרופיל הקצאת ההרשאות שקשור לחבילה הזו עם ההרשאות הנדרשות.
- חוזרים על השלבים האלה לגבי היעד
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 ... }