Mục đích

Ý định trong nhà thông minh là các đối tượng thông báo đơn giản mô tả hành động smart home cần thực hiện, chẳng hạn như bật đèn hoặc truyền âm thanh đến loa.

Mọi ý định smart home đều nằm trong không gian tên action.devices và bạn phải cung cấp phương thức thực hiện cho các ý định đó. Bất cứ khi nào Google Assistant gửi ý định đến phương thức thực hiện, mã truy cập OAuth 2 của bên thứ ba của người dùng sẽ được chuyển vào tiêu đề Uỷ quyền.

Sau đây là các ý định smart home được hỗ trợ:

ĐỒNG BỘ HÓA

Ý định action.devices.SYNC được dùng để yêu cầu danh sách thiết bị smart home mà người dùng đã kết nối và có sẵn để sử dụng.

Khi người dùng thiết lập thiết bị bằng Google Home app (GHA), họ cũng sẽ được xác thực với cơ sở hạ tầng đám mây của bạn. Sau đó, Assistant sẽ nhận được mã thông báo OAuth2. Tại thời điểm này, Assistant sẽ gửi một ý định action.devices.SYNC đến phương thức thực hiện của bạn để truy xuất danh sách thiết bị và chức năng ban đầu của người dùng từ cơ sở hạ tầng đám mây của bạn.

Hình này cho thấy sự tương tác giữa cơ sở hạ tầng của Google và cơ sở hạ tầng của đối tác. Trong cơ sở hạ tầng của Google, có một danh sách đối tác có sẵn cho ứng dụng Trợ lý. Sau đó, danh sách này sẽ chuyển sang cơ sở hạ tầng của đối tác để hoàn tất quy trình xác thực OAuth. Quy trình xác thực OAuth ở phía đối tác bao gồm chế độ xem web cho quy trình thiết lập đối tác, WebView cho OAuth, các điều khoản và chế độ cài đặt không bắt buộc, cùng các dịch vụ đám mây của đối tác. Cơ sở hạ tầng của đối tác, sau đó sẽ trả về thông tin xác thực OAuth cho ứng dụng khách có Trợ lý. Các dịch vụ đám mây của đối tác sẽ gửi các thiết bị và chức năng có sẵn đến các dịch vụ của Trợ lý, sau đó lưu trữ thông tin trong Home Graph.
Hình 1: Tương tác giữa cơ sở hạ tầng của Google và Đối tác

Để tránh huỷ liên kết và liên kết lại tài khoản của người dùng, bạn có thể gửi yêu cầu đồng bộ hoá đến Assistant. Thao tác này sẽ gửi ý định action.devices.SYNC đến phương thức thực hiện của bạn để đồng bộ hoá danh sách thiết bị và chức năng. Hãy xem bài viết Triển khai yêu cầu đồng bộ hoá để biết thêm thông tin.

Sơ đồ quy trình của ý định SYNC
Hình 2: Ý định SYNC

Trong quá trình thiết lập phương thức thực hiện cục bộ, nền tảng Local Home sẽ kiểm tra phản hồi SYNC từ phương thức thực hiện trên đám mây của Hành động smart home. Để tìm hiểu thêm về cách sửa đổi phản hồi SYNC nhằm hỗ trợ phương thức thực hiện cục bộ, hãy xem bài viết Cập nhật phản hồi SYNC trong phương thức thực hiện trên đám mây.

QUERY Hỏi

Ý định action.devices.QUERY được dùng để truy vấn trạng thái hiện tại của các thiết bị smart home.

Khi người dùng truy vấn trạng thái của thiết bị, để trả lời các câu hỏi như Ok Google, đèn nào đang bật trong bếp?, Assistant gửi ý định action.devices.QUERY đến phương thức thực hiện của bạn.

Sơ đồ luồng của ý định QUERY
Hình 3: Ý định QUERY

Để có trải nghiệm người dùng tốt nhất, bạn nên triển khai Trạng thái báo cáo để chủ động báo cáo trực tiếp trạng thái hiện tại của thiết bị của người dùng cho Google Home Graph. Ví dụ: thông tin này cho Assistant biết liệu người dùng có bật đèn thông minh bằng công tắc đèn thực hay không.

Báo cáo trạng thái thiết bị bằng Trạng thái báo cáo
Hình 4: Báo cáo trạng thái thiết bị

THỰC THI

Ý định action.devices.EXECUTE dùng để cung cấp các lệnh cần thực thi trên các thiết bị smart home.

Khi người dùng gửi lệnh đến các thiết bị có Assistant, phương thức thực hiện của bạn sẽ nhận được một ý định action.devices.EXECUTE đến phương thức thực hiện của bạn mô tả thao tác và các thiết bị cần thực hiện. Người dùng có thể thực hiện một thao tác trên thiết bị bằng một lệnh như Ok Google, bật đèn phòng khách của tôi.

Sơ đồ luồng của một ý định EXECUTE
Hình 5: EXECUTE ý định

NGẮT KẾT NỐI

Ý định action.devices.DISCONNECT được kích hoạt để thông báo cho bạn khi người dùng huỷ liên kết tài khoản ứng dụng khỏi Assistant. Sau khi nhận được ý định action.devices.DISCONNECT, bạn không nên báo cáo trạng thái cho các thiết bị của người dùng này.