ความตั้งใจ

Intent ของสมาร์ทโฮมคือออบเจ็กต์การรับส่งข้อความที่เรียบง่ายซึ่งอธิบายสิ่งที่ smart home ควรทำ เช่น เปิดไฟหรือแคสต์เสียงไปยังลำโพง

Intent smart home ทั้งหมดมีอยู่ในเนมสเปซ action.devices และคุณต้องระบุ Fulfillment สำหรับ Intent ดังกล่าว เมื่อใดก็ตามที่ Google Assistant ส่ง Intent ไปยัง Fulfillment ระบบจะส่งโทเค็นเพื่อการเข้าถึง OAuth 2 ของบุคคลที่สามของผู้ใช้ในส่วนหัวการให้สิทธิ์

ต่อไปนี้คือ Intent smart home ที่รองรับ

ซิงค์

Intent action.devices.SYNC ใช้สำหรับขอรายการอุปกรณ์ smart home เครื่องที่ผู้ใช้เชื่อมต่อและพร้อมใช้งาน

เมื่อผู้ใช้ตั้งค่าอุปกรณ์ด้วย Google Home app (GHA) ผู้ใช้จะได้รับการตรวจสอบสิทธิ์ไปยังโครงสร้างพื้นฐานของระบบคลาวด์ด้วย จากนั้น Assistant จะได้รับโทเค็น OAuth2 ณ จุดนี้ Assistant จะส่ง Intent action.devices.SYNC ไปยัง Fulfillment ของคุณเพื่อเรียกข้อมูลรายการเริ่มต้นของอุปกรณ์และความสามารถของผู้ใช้จากโครงสร้างพื้นฐานของระบบคลาวด์

ตัวเลขนี้แสดงความสัมพันธ์ระหว่างโครงสร้างพื้นฐานของ Google และโครงสร้างพื้นฐานของพาร์ทเนอร์ จากโครงสร้างพื้นฐานของ Google จะมีรายชื่อพาร์ทเนอร์ที่พร้อมใช้งานในแอปไคลเอ็นต์ Assistant ซึ่งจะส่งข้อมูลไปยังโครงสร้างพื้นฐานของพาร์ทเนอร์เพื่อตรวจสอบสิทธิ์ OAuth ให้เสร็จสมบูรณ์ การตรวจสอบสิทธิ์ OAuth ทางฝั่งพาร์ทเนอร์คือ WebView, WebView ของ OAuth, การตั้งค่าและข้อกําหนดที่ไม่บังคับ รวมถึงบริการระบบคลาวด์ของพาร์ทเนอร์ โครงสร้างพื้นฐานของพาร์ทเนอร์จะส่งข้อมูลเข้าสู่ระบบ OAuth กลับไปยังแอปไคลเอ็นต์ Assistant บริการระบบคลาวด์ของพาร์ทเนอร์จะส่งอุปกรณ์และความสามารถที่ใช้ได้ไปยังบริการ Assistant ซึ่งจะจัดเก็บข้อมูลไว้ใน Home Graph
ภาพที่ 1: การโต้ตอบระหว่าง Google กับโครงสร้างพื้นฐานของพาร์ทเนอร์

หากต้องการหลีกเลี่ยงการยกเลิกการลิงก์หรือลิงก์บัญชีของผู้ใช้อีกครั้ง คุณสามารถส่งคำขอซิงค์ไปยัง Assistant การดำเนินการนี้จะส่ง Intent action.devices.SYNC ไปยัง Fulfillment ของคุณเพื่อซิงค์รายการอุปกรณ์และความสามารถต่างๆ โปรดดูข้อมูลเพิ่มเติมที่ใช้การซิงค์คำขอ

แผนภาพโฟลว์ของ Intent การซิงค์
ภาพที่ 2: Intent การซิงค์

ในระหว่างการตั้งค่าFulfillment ในพื้นที่ แพลตฟอร์ม Local Home จะตรวจสอบการตอบสนองSYNCจาก Fulfillment ระบบคลาวด์ของ smart home ของการดำเนินการของคุณ หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีแก้ไขการตอบกลับของ SYNC เพื่อรองรับ Fulfillment ภายในเครื่อง โปรดดูอัปเดตการตอบสนองการซิงค์ใน Cloud Fulfillment

QUERY

Intent action.devices.QUERY จะใช้เพื่อค้นหาสถานะปัจจุบันของอุปกรณ์ smart home เครื่อง

เมื่อผู้ใช้ค้นหาสถานะของอุปกรณ์ เพื่อตอบคำถาม เช่น Ok Google ไฟห้องใดในห้องครัวเปิดอยู่ Assistant ส่ง Intent action.devices.QUERY ไปยัง Fulfillment ของคุณ

แผนภาพโฟลว์ของ Intent ของ QUERY
ภาพที่ 3: Intent ของ QUERY

เพื่อให้ผู้ใช้ได้รับประสบการณ์ที่ดีที่สุด คุณควรใช้สถานะรายงานเพื่อรายงานสถานะปัจจุบันของอุปกรณ์ของผู้ใช้ในเชิงรุกให้ Google Home Graph ทราบโดยตรง เช่น ช่วยให้ Assistant ทราบว่าผู้ใช้เปิดหลอดไฟอัจฉริยะด้วยสวิตช์ไฟ

การรายงานสถานะอุปกรณ์โดยใช้สถานะรายงาน
ภาพที่ 4: รายงานสถานะของอุปกรณ์

ดำเนินการ

Intent action.devices.EXECUTE ใช้สำหรับระบุคำสั่ง สำหรับดำเนินการในอุปกรณ์ smart home เครื่อง

เมื่อผู้ใช้ส่งคำสั่งไปยังอุปกรณ์ที่มี Assistant การดำเนินการของคุณจะได้รับ Intent action.devices.EXECUTE ที่จะระบุการดำเนินการและอุปกรณ์ที่จะดําเนินการ ผู้ใช้ดำเนินการบางอย่างในอุปกรณ์ได้ด้วยคำสั่ง เช่น Ok Google เปิดไฟห้องนั่งเล่น

แผนภาพโฟลว์ของ Intent EXECUTE
ภาพที่ 5: แสดง Intent

ยกเลิกการเชื่อมต่อ

ระบบจะทริกเกอร์ Intent action.devices.DISCONNECT เพื่อแจ้งให้คุณทราบเมื่อผู้ใช้ยกเลิกการลิงก์บัญชีของแอปกับ Assistant หลังจากได้รับ Intent action.devices.DISCONNECT แล้ว คุณไม่ควรรายงานสถานะสำหรับอุปกรณ์ของผู้ใช้รายนี้