Intent

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

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

Intent ที่รองรับมีดังนี้:smart home

SYNC

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 ไปยังการดำเนินการตามคำขอเพื่อซิงค์รายการอุปกรณ์และความสามารถ ดูข้อมูลเพิ่มเติมได้ที่ การใช้งานคำขอซิงค์

แผนภาพโฟลว์ของเจตนา SYNC
รูปที่ 2: Intent SYNC

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

QUERY

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

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

แผนภาพโฟลว์ของความตั้งใจในการค้นหา
รูปที่ 3: Intent QUERY

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

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

EXECUTE

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

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

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

DISCONNECT

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