ภาพรวมของ 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 รองรับคลัสเตอร์ชุดมาตรฐานตามที่กำหนดไว้ในข้อกำหนดปัจจุบันMatterMatter

ในระบบนิเวศ 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 API ในทุกขั้นตอน ตั้งแต่การยืนยันแบรนด์ ไปจนถึงการพัฒนา การทดสอบ และการรับรองเพื่อ เปิดตัวในที่สุด ซึ่งช่วยให้กระบวนการพัฒนาคล่องตัวขึ้น พร้อมทั้งมอบเครื่องมือที่มีประสิทธิภาพและการเผยแพร่ผ่านระบบนิเวศ Google Home

ภาษา

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

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

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

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

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

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

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

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