ภาพรวมของ Home API สำหรับ Android

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

Home API จะกำหนดเอนทิตีต่อไปนี้ที่ผู้ใช้โต้ตอบได้

  • โครงสร้างแสดงถึงบ้านที่มีห้องและอุปกรณ์
  • ห้องเป็นส่วนหนึ่งของโครงสร้างและมีอุปกรณ์
  • อุปกรณ์จะใช้ลักษณะที่มีแอตทริบิวต์ เป็นไปตามประเภท ส่ง เหตุการณ์ และตอบสนองต่อคำสั่ง
  • การทำงานอัตโนมัติเป็นส่วนหนึ่งของโครงสร้างและใช้ข้อมูลเมตาและอุปกรณ์ในบ้านเพื่อ ตั้งค่างานในบ้านให้ทำงานอัตโนมัติ

รูปที่ 1 แสดงสถาปัตยกรรมนี้

แผนภาพที่แสดงสถาปัตยกรรมของ Home API สำหรับแอป Android
รูปที่ 1: สถาปัตยกรรมของ Home API สำหรับแอป Android

ประเภทอุปกรณ์ Home API อาจได้รับการสนับสนุนจาก Matter ซึ่งเป็นมาตรฐานเปิดสำหรับ สมาร์ทโฮม หรืออาจเป็นอุปกรณ์ Cloud-to-cloud ในระบบนิเวศของ Google Home อุปกรณ์บางประเภทอาจรวมฟังก์ชันการทำงานจากทั้ง 2 อย่าง ดูข้อมูลเพิ่มเติมได้ที่ ประเภทอุปกรณ์ที่รองรับใน Android

ใน Matter ฟังก์ชันการทำงานของอุปกรณ์จะจัดกลุ่มตามคลัสเตอร์ ซึ่งแสดงใน Home API เป็นMatter ลักษณะมาตรฐาน Home API รองรับชุดมาตรฐานของ Matter คลัสเตอร์ตามที่กำหนดไว้ใน Matter ข้อกำหนดปัจจุบัน

ในระบบนิเวศของ Google Home ฟังก์ชันการทำงานของอุปกรณ์จะจัดกลุ่มตามลักษณะสมาร์ทโฮม ซึ่งแสดงใน Home API เป็นลักษณะสมาร์ทโฮมของ Google Home API รองรับชุดลักษณะสมาร์ทโฮมตามที่กำหนดไว้ในโปรแกรม Cloud-to-cloud

นอกจากนี้ ยังมีลักษณะอื่นๆ เช่น คลัสเตอร์เฉพาะของผู้ผลิตและลักษณะของแพลตฟอร์มด้วย ดูข้อมูลเพิ่มเติมได้ที่ โมเดลข้อมูลใน Android

ระบบนิเวศ

ระบบนิเวศของ Google Home เป็นรากฐานที่คล่องตัวสำหรับการสร้าง การจัดการ การรักษาความปลอดภัย และการผสานรวมประสบการณ์การใช้งานสมาร์ทโฮม รูปที่ 2 แสดงให้เห็นว่า คอมโพเนนต์ทั้งหมดทำงานร่วมกันอย่างไร

แผนภาพที่แสดงระบบนิเวศของ Home API สำหรับแอป Android
รูปที่ 2: ระบบนิเวศของ Home API สำหรับแอป Android

ระบบนิเวศประกอบด้วย Google Automation Engine ซึ่งจัดเก็บและ เรียกใช้การทำงานอัตโนมัติที่ช่วยให้คุณ ทำงานและตั้งค่าอุปกรณ์ในบ้านโดยอัตโนมัติได้

Home API ใช้ OAuth 2.0 เพื่อให้สิทธิ์เข้าถึงอุปกรณ์ในโครงสร้าง OAuth ช่วยให้ผู้ใช้ให้สิทธิ์แก่แอปหรือบริการได้โดยไม่ต้องเปิดเผยข้อมูลเข้าสู่ระบบ

Google Home Developer Console ใช้เพื่อจัดการทุกขั้นตอนของโปรเจ็กต์ Home APIs ตั้งแต่การยืนยันแบรนด์ การพัฒนา การทดสอบ และการรับรอง ไปจนถึง การเปิดตัวในที่สุด ซึ่งจะช่วยปรับปรุงกระบวนการพัฒนาให้มีประสิทธิภาพยิ่งขึ้น พร้อมทั้งมอบ เครื่องมือที่มีประสิทธิภาพและการจัดจำหน่ายผ่านระบบนิเวศของ Google Home

ภาษา

Home API สำหรับ Android เขียนด้วย Kotlin และมีอินเทอร์เฟซ Kotlin ที่เป็นสำนวนซึ่งใช้ Flow เพื่อจัดการสถานะและการสมัครใช้บริการ ซึ่งมีข้อได้เปรียบหลายประการเหนือกว่า API การสมัครใช้บริการมาตรฐาน

เราขอแนะนำให้คุณทำความคุ้นเคยกับเอกสารประกอบ Kotlin เกี่ยวกับโครูทีน Flow และ Jetpack Compose หากยังไม่เคยทำ

ตัวระบุเอนทิตี

เอนทิตีแต่ละรายการใน Home API จะมีรหัสซึ่งแสดงถึงตัวระบุหลัก รหัสนี้เป็นตัวระบุที่ไม่ซ้ำกันและคงที่ซึ่งจะไม่เปลี่ยนแปลงตลอดอายุการใช้งานของเอนทิตี รหัสนี้ใช้เพื่อแคชออบเจ็กต์หรือตรวจสอบ ความเท่ากันได้เนื่องจากข้อมูลเมตาของเอนทิตีอาจเปลี่ยนแปลงได้

ดูอินเทอร์เฟซ HasId เพื่อดูว่าเอนทิตีใดมีรหัส

การแมปคำศัพท์

เอนทิตีใน Home API จะแมปกับแนวคิด Matter และ Cloud-to-cloud ดังนี้

API สำหรับ Home Matter Cloud-to-cloud
ลักษณะ คลัสเตอร์ ลักษณะ
แอตทริบิวต์ แอตทริบิวต์ แอตทริบิวต์ สถานะ
คำสั่ง คำสั่ง คำสั่ง
กิจกรรม กิจกรรม การตอบกลับติดตามผล การแจ้งเตือน