Tổng quan về Home API cho Android

Google Home API cho Android cung cấp một nền tảng API hợp nhất để cho phép nhà phát triển tương tác với trạng thái của các thực thể trong nhà của người dùng. Các thực thể này có thể mô tả các thiết bị và thông tin không phải thiết bị liên quan đến cấu trúc và các phòng của người dùng.

Home API xác định những thực thể sau mà người dùng có thể tương tác:

  • Cấu trúc đại diện cho một ngôi nhà có chứa các phòng và thiết bị.
  • Phòng là một phần của cấu trúc và chứa các thiết bị.
  • Thiết bị triển khai các đặc điểm chứa thuộc tính, tuân thủ các loại, phát ra sự kiện và phản hồi các lệnh.
  • Quy trình tự động hoá là một phần của cấu trúc và sử dụng siêu dữ liệu cũng như các thiết bị trong nhà để tự động hoá các việc cần làm trong nhà.

Hình 1 minh hoạ cấu trúc này:

Sơ đồ mô tả cấu trúc API Home cho một ứng dụng Android
Hình 1: Cấu trúc của Home API cho một ứng dụng Android

Các loại thiết bị Home API có thể được hỗ trợ bởi Matter, một tiêu chuẩn mở cho nhà thông minh, hoặc là một thiết bị Cloud-to-cloud trong hệ sinh thái Google Home. Một số loại thiết bị có thể kết hợp chức năng của cả hai. Hãy xem phần Các loại thiết bị được hỗ trợ trên Android để biết thêm thông tin.

Trong Matter, chức năng của thiết bị được nhóm theo các cụm, được biểu thị trong Home API dưới dạng các đặc điểm tiêu chuẩn Matter. Các API Home hỗ trợ bộ tiêu chuẩn gồm các cụm Matter như được xác định trong quy cách Matter hiện tại.

Trong hệ sinh thái Google Home, chức năng của thiết bị được nhóm theo các đặc điểm nhà thông minh. Các đặc điểm này được thể hiện trong Home API dưới dạng đặc điểm nhà thông minh của Google. Home API hỗ trợ bộ đặc điểm nhà thông minh như được xác định trong chương trình Cloud-to-cloud.

Các đặc điểm khác, chẳng hạn như Cụm dành riêng cho nhà sản xuất và Đặc điểm nền tảng, cũng có sẵn. Để tìm hiểu thêm, hãy xem bài viết Mô hình dữ liệu trên Android.

Hệ sinh thái

Hệ sinh thái Google Home cung cấp một nền tảng tinh giản để xây dựng, quản lý, bảo mật và tích hợp trải nghiệm nhà thông minh. Hình 2 cho thấy cách tất cả các thành phần hoạt động cùng nhau.

Sơ đồ mô tả hệ sinh thái Home API cho một ứng dụng Android
Hình 2: Hệ sinh thái Home API cho một ứng dụng Android

Hệ sinh thái này bao gồm Google Automation Engine (Công cụ tự động hoá của Google) giúp lưu trữ và chạy các chế độ tự động hoá. Các chế độ này cung cấp một cách để tự động hoá các tác vụ và chế độ cài đặt thiết bị trong nhà.

Home API sử dụng OAuth 2.0 để cấp quyền truy cập vào các thiết bị trong cấu trúc. OAuth cho phép người dùng cấp quyền cho một ứng dụng hoặc dịch vụ mà không cần tiết lộ thông tin đăng nhập của họ.

Google Home Developer Console được dùng để quản lý tất cả các giai đoạn của một dự án Home API, từ xác minh thương hiệu, đến phát triển, kiểm thử và chứng nhận để cuối cùng là ra mắt. Điều này giúp tinh giản quy trình phát triển, đồng thời cung cấp các công cụ mạnh mẽ và khả năng phân phối thông qua hệ sinh thái Google Home.

Ngôn ngữ

Home API cho Android được viết bằng Kotlin và cung cấp một giao diện Kotlin đặc trưng sử dụng Flow để quản lý trạng thái và hoạt động đăng ký. Điều này mang lại một số lợi thế so với API thuê bao tiêu chuẩn.

Bạn nên làm quen với tài liệu Kotlin về coroutine, luồng và Jetpack Compose (nếu chưa):

Giá trị nhận dạng thực thể

Mỗi thực thể trong Home API đều có một mã nhận dạng chính. Mã nhận dạng này là giá trị nhận dạng duy nhất và cố định, sẽ không bao giờ thay đổi trong suốt vòng đời của thực thể. Bạn có thể dùng mã nhận dạng này để lưu các đối tượng vào bộ nhớ đệm hoặc kiểm tra tính bình đẳng vì siêu dữ liệu của một thực thể có thể thay đổi.

Hãy xem giao diện HasId để tìm hiểu những thực thể có mã nhận dạng.

Liên kết thuật ngữ

Các thực thể trong Home API ánh xạ đến các khái niệm MatterCloud-to-cloud như sau:

Home API Matter Cloud-to-cloud
Đặc điểm Cụm Đặc điểm
Thuộc tính Thuộc tính Thuộc tính, Trạng thái
Lệnh Lệnh Lệnh
Sự kiện Sự kiện Phản hồi theo dõi, Thông báo