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

Google Home API สำหรับ 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 ซึ่งจัดเก็บและเรียกใช้การทำงานอัตโนมัติที่ช่วยให้คุณทำงานและการตั้งค่าอุปกรณ์ในบ้านได้โดยอัตโนมัติ

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

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

ภาษา

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

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

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

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

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

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

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

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