כוונות

אובייקטים מסוג Intent בבית חכם הם אובייקטים פשוטים להעברת הודעות, שמתארים את הפעולה smart home שאפשר לבצע, כמו הפעלת תאורה או העברת אודיו (cast) לרמקול.

כל האובייקטים מסוג Intent מסוג smart home נמצאים במרחב השמות action.devices, ועליכם לספק את מילוי הבקשה עבורם. בכל פעם ש-Google Assistant שולח Intent למילוי הבקשה, אסימון הגישה מסוג OAuth 2 מצד שלישי של המשתמש מועבר בכותרת Authorization.

אובייקטים מסוג Intent מסוג smart home נתמכים:

סנכרון

מטרת ה-Intent action.devices.SYNC היא לבקש רשימה של smart home מכשירים שהמשתמש חיבר וזמינים לשימוש.

כשמשתמשים מגדירים את המכשירים שלהם באמצעות Google Home app (GHA), האימות מתבצע גם בתשתית הענן שלכם. לאחר מכן, הקוד Assistant מקבל אסימון OAuth2. בשלב הזה, Assistant שולח Intent מסוג action.devices.SYNC למילוי הבקשה, כדי לאחזר את הרשימה הראשונית של המכשירים והיכולות של המשתמשים מתשתית הענן.

האיור הזה מציג את האינטראקציה בין התשתית של Google לתשתית השותפים. בתשתית של Google אפשר לקבל רשימה של שותפים הזמינים לאפליקציית הלקוח של Assistant. לאחר מכן, עוברים לתשתית השותפים כדי להשלים את אימות OAuth. אימות OAuth בצד של השותף הוא ה-WebView של הגדרת השותף, ה-WebView של OAuth, התנאים וההגבלות האופציונליים ושירותי הענן של השותפים. לאחר מכן, התשתית של השותף מחזירה את פרטי הכניסה של OAuth לאפליקציית הלקוח של Assistant. שירותי הענן של השותפים שולחים את המכשירים והיכולות הזמינים לשירותי Assistant,
 ושומרים את המידע בתרשים Home Graph.
איור 1: האינטראקציה בין Google לתשתית של השותפים

כדי למנוע ביטול קישור וקישור מחדש של חשבון משתמש, אפשר לשלוח בקשה לסנכרון עם Assistant. הפעולה הזו שולחת את ה-Intent action.devices.SYNC למילוי הבקשה, כדי לסנכרן את רשימת המכשירים והיכולות. מידע נוסף זמין במאמר הטמעה של סנכרון בקשות.

תרשים זרימה של Intent SYNC
איור 2: כוונת סנכרון

בתהליך ההגדרה של מילוי הזמנות באופן מקומי, פלטפורמת Home Home בודקת את התגובה SYNC מיישום smart home של הפעולה בענן. במאמר עדכון תגובת הסנכרון במילוי הזמנות בענן מוסבר איך לשנות את התגובה של SYNC לתמיכה במילוי הזמנות מקומי.

QUERY

ה-Intent action.devices.QUERY משמש לשליחת שאילתות לגבי המצב הנוכחי של smart home מכשירים.

כשמשתמשים שואלים שאלות על סטטוס המכשיר, למשל Hey Google, what lights are on the kitchen?, Assistant שולח Intent action.devices.QUERY למילוי הבקשה.

תרשים זרימה של Intent מסוג QUERY
איור 3: Intent מסוג QUERY

כדי ליהנות מחוויית המשתמש הטובה ביותר, כדאי להטמיע את מצב הדיווח כדי לדווח באופן יזום על המצב הנוכחי של מכשירי המשתמש ישירות ל-Google Home Graph. לדוגמה, כך Assistant יוכל לדעת אם המשתמש הפעיל נורה חכמה באמצעות מתג תאורה פיזי.

דיווח על מצב המכשיר באמצעות מצב הדוח
איור 4: דיווח על מצב המכשיר

להוציא לפועל

ה-Intent action.devices.EXECUTE משמש למתן פקודות להפעלה במכשירי smart home.

כשמשתמשים שולחים פקודות למכשירים עם Assistant, מילוי הבקשה מקבל כוונה (action.devices.EXECUTE) למילוי הבקשה, שמתארת את הפעולה ואת המכשירים שעליהם יש לבצע את הפעולה. משתמשים יכולים לבצע פעולה במכשיר באמצעות פקודה כמו Ok Google, turn on my living room lights.

תרשים זרימה של אובייקט Intent ב-EXECUTE
איור 5: EXECUTE Intent

התנתקות

Intent מסוג action.devices.DISCONNECT מופעל כדי ליידע אתכם כשמשתמש מבטל את הקישור של חשבון האפליקציה ל-Assistant. אחרי שמקבלים Intent מסוג action.devices.DISCONNECT, אין לדווח על המצב במכשירים של המשתמש הזה.