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

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

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

ภาษา

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

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

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

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

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

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

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

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