Đăng ký Sự kiện

Các sự kiện không đồng bộ và được Google Cloud Pub/Sub quản lý, trong một chủ đề duy nhất trên mỗi Project. Sự kiện cung cấp thông tin cập nhật cho tất cả các thiết bị và cấu trúc cũng như việc nhận sự kiện được đảm bảo miễn là mã thông báo truy cập không bị người dùng thu hồi và thông báo sự kiện chưa hết hạn.

Sự kiện là một tính năng không bắt buộc của SDM API. Bạn có thể dễ dàng triển khai và xác minh các quảng cáo này bằng cách sử dụng dự án Google Cloud.

Bật sự kiện

Bạn có thể bật sự kiện trong Device Access Bảng điều khiển. Chọn Project (Dự án) của bạn trong Bảng điều khiển (nếu bạn chưa chọn).

Chuyển đến Device Access Bảng điều khiển

Nếu bạn đã bật các sự kiện (ví dụ: trong quá trình tạo dự án), thì chủ đề Pub/Sub trong phần Thông tin dự án sẽ có giá trị, gọi là Mã chủ đề, theo định dạng:

projects/sdm-prod/topics/enterprise-project-id

Nếu bạn chưa bật sự kiện:

  1. Nhấp vào biểu tượng cho chủ đề Pub/Sub rồi chọn Edit (Chỉnh sửa).
  2. Chọn Bật sự kiện và nhấp vào Lưu.
  3. ID chủ đề được tạo cho bạn theo định dạng được hiển thị ở trên.

Sao chép Mã chủ đề, bạn cần có mã này để tạo gói thuê bao theo chủ đề để có thể truy xuất tin nhắn sự kiện.

Tạo gói thuê bao kéo

Gói thuê bao kéo là nơi người đăng ký bắt đầu các yêu cầu gửi đến máy chủ Pub/Sub để nhận thông báo sự kiện đã xếp hàng. Đây là một cách nhanh chóng và dễ dàng để xác minh rằng các sự kiện đang được tạo cho thiết bị được ủy quyền của bạn.

Mở Cloud Shell cho dự án Google Cloud của bạn:

Truy cập vào Google Cloud Shell

Tại lời nhắc Cloud Shell, hãy chạy lệnh sau để tạo gói thuê bao kéo cho chủ đề của bạn, sử dụng subscription-id mà bạn thích và mã nhận dạng chủ đề duy nhất của bạn:

gcloud pubsub subscriptions create subscription-id --topic=projects/sdm-prod/topics/enterprise-project-id
Created subscription [projects/gcp-project-name/subscriptions/subscription-id].

Bắt đầu sự kiện

Để bắt đầu các sự kiện lần đầu tiên sau khi tạo gói thuê bao Pub/Sub, hãy thực hiện lệnh gọi để liệt kê các thiết bị của bạn dưới dạng trình kích hoạt một lần:

curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer access-token'

Các sự kiện cho tất cả cấu trúc và thiết bị sẽ được xuất bản sau lệnh gọi API này.

Tạo sự kiện

Các sự kiện được tạo cho tất cả các thay đổi trường đặc điểm, trong đó một số sự kiện là tự động, một số thay đổi theo cách thủ công.

Ví dụ: nếu nhiệt độ môi trường ở gần Bộ điều nhiệt Nest thay đổi, thì một sự kiện cho thuộc tính Nhiệt độ sẽ tự động được gửi với giá trị ambientTemperatureCelsius mới.

Để tạo theo cách thủ công, hãy thực hiện một trong hai cách sau:

  1. Thay đổi trạng thái của thiết bị, chẳng hạn như thay đổi chế độ của Nest Thermostat.
  2. Kích hoạt một sự kiện, chẳng hạn như chuyển động, người hoặc âm thanh trên Google Nest Cam Indoor.
  3. Thực thi lệnh thiết bị bằng API SDM.

Xem tin nhắn

Bạn có thể xem thông báo về sự kiện trong dự án Google Cloud, trong phần Gói thuê bao Pub/Sub:

Truy cập vào các gói đăng ký Google Cloud Pub/Sub

  1. Nhấp vào mã gói đăng ký mà bạn đã tạo trước đó.
  2. Trên màn hình Chi tiết về gói thuê bao, bạn sẽ thấy hoạt động cho biểu đồ Số tin nhắn đã bỏ lưu. Số liệu này cho biết các thông báo sự kiện đã được gửi cho gói thuê bao của bạn. Nếu bạn không thấy bất kỳ hoạt động nào, hãy đợi một chút hoặc tạo thêm một vài sự kiện khác.
  3. Nhấp vào XEM THƯ để mở bảng Thông báo.
  4. Nhấp vào KÉO để xem tin nhắn. Chúng phải tương ứng với các hành động bạn đã sử dụng để tạo sự kiện.

Bạn cũng có thể xem thông báo trong Cloud Shell bằng một lệnh pull cơ bản:

gcloud pubsub subscriptions pull subscription-id

Để biết thêm thông tin về các loại gói thuê bao, cũng như các loại sự kiện do API SDM gửi và cách sử dụng các loại đó, hãy xem bài viết Sự kiện.

Quản lý thư

Bạn nên thường xuyên xác nhận và xóa tin nhắn để đảm bảo gói thuê bao luôn trong sạch và tránh gửi thư trùng lặp cho những người đăng ký khác. Bạn có thể xoá hoàn toàn tất cả thông báo về gói thuê bao theo cách thủ công trong phần Gói thuê bao Pub/Sub:

Truy cập vào các gói đăng ký Google Cloud Pub/Sub

  1. Nhấp vào ID đăng ký.
  2. Có một vài cách để xác nhận và xóa hoàn toàn:
    1. Nhấp vào XEM THƯ để mở bảng Thông báo. Đánh dấu vào hộp kiểm Bật thông báo xác nhận rồi nhấp vào KÉO để xem và xác nhận tất cả thông báo.
    2. Nhấp vào PURGE MESSAGES để xóa hoàn toàn tất cả thư hiện có bằng cách xác nhận mà không cần xem các thư đó. Nhấp vào MỤC ĐÍCH để xác nhận.

Bạn cũng có thể xoá hoàn toàn thư trong Cloud Shell bằng cách sử dụng cờ --auto-ack với lệnh pull cơ bản:

gcloud pubsub subscriptions pull subscription-id --auto-ack

Quản lý gói thuê bao

Bạn có thể định cấu hình các gói thuê bao theo nhiều cách, như mô tả trong phần Sử dụng thuộc tính của gói thuê bao.

Mặc dù cách bạn muốn quản lý các gói thuê bao và thông báo là tuỳ thuộc vào bạn, nhưng đối với ứng dụng chính thức, bạn nên sử dụng Tài khoản dịch vụ để xác thực thay vì một tài khoản người dùng như trong tài liệu hướng dẫn bắt đầu nhanh này. Tài khoản dịch vụ là ứng dụng hoặc máy ảo chứ không phải cá nhân và có khoá tài khoản riêng.

Để biết thêm thông tin về việc xác thực tài khoản dịch vụ với Device Access, hãy xem phần Sự kiện.