Ý định

Ý định nhà thông minh là các đối tượng nhắn tin đơn giản mô tả những gì cần thực hiện khi tích hợp Cloud-to-cloud, chẳng hạn như bật đèn hoặc truyền âm thanh đến loa.

Tất cả các ý định smart home đều nằm trong không gian tên action.devices và bạn phải cung cấp dịch vụ thực hiện cho các ý định đó. Bất cứ khi nào Google Assistant gửi một ý định đến quá trình thực hiện, mã truy cập OAuth 2 của bên thứ ba của người dùng sẽ được truyền trong 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 các thiết bị smart home mà người dùng đã kết nối và có thể sử dụng.

Khi thiết lập thiết bị bằng Google Home app (GHA), người dùng cũng đượ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 ý định action.devices.SYNC đến dịch vụ thực hiện của bạn để truy xuất danh sách ban đầu về các thiết bị và chức năng 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. Từ cơ sở hạ tầng của Google, có một danh sách các đối tác có sẵn cho ứng dụng khách Trợ lý, sau đó danh sách này sẽ chuyển đến cơ sở hạ tầng của đối tác để hoàn tất quy trình xác thực OAuth. Xác thực OAuth ở phía đối tác là webview thiết lập đối tác, webview OAuth, các chế độ cài đặt và điều khoản không bắt buộc, cũng như các dịch vụ đám mây của đối tác. Cơ sở hạ tầng của đối tác, sau đó trả thông tin đăng nhập OAuth cho ứng dụng khách của 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 hiện có cho 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 quá trình thực hiện để đồng bộ hoá danh sách thiết bị và chức năng. Hãy xem phần Triển khai tính năng 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 dịch vụ thực hiện đơn hàng tại địa phương, nền tảng Local Home sẽ kiểm tra phản hồi SYNC từ dịch vụ thực hiện đơn hàng trên đám mây của Thao tác smart home. Để tìm hiểu thêm về cách sửa đổi phản hồi SYNC để hỗ trợ việc thực hiện tại địa phương, hãy xem bài viết Cập nhật phản hồi SYNC trong tính năng 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 đang truy vấn trạng thái thiết bị, để trả lời một câu hỏi như Ok Google, có đèn nào đang bật trong bếp không?, Assistant gửi một ý định action.devices.QUERY đến yêu cầu thực hiện của bạn.

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

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

Báo cáo trạng thái thiết bị bằng cách sử dụng Report State
Hình 4: Báo cáo trạng thái thiết bị

EXECUTE

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

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

Sơ đồ quy trình của ý định EXECUTE
Hình 5: Ý định THỰC THI

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.