ความตั้งใจ

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

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

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

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

แผนภาพโฟลว์ของความตั้งใจในการซิงค์
ภาพที่ 2: ความตั้งใจในการซิงค์

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

QUERY

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

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

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

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

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

ดำเนินการ

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

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

แผนผังโฟลว์ของความตั้งใจ EXECUTE
ภาพที่ 5: Intent EXECUTE

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

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