Intent

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

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

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

ซิงค์

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

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

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

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

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

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

QUERY

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

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

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

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

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

ดำเนินการ

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

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

แผนภาพโฟลว์ของ Intent ประเภท EXECUTE
รูปที่ 5: ดำเนินการตาม Intent

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

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