Thiết lập thông báo Pub/Sub

Thông báo của Pub/Sub cung cấp cho bạn một cách để nhận thông báo về các thiết bị mới đăng ký, báo cáo thiết bị và lệnh được đưa ra gần đây.

Để thiết lập thông báo Pub/Sub, bạn cần bật API Pub/Sub và tạo một chủ đề. Để nhận các thông báo được xuất bản lên một chủ đề, hãy tạo gói thuê bao cho chủ đề đó. Gói thuê bao sẽ kết nối chủ đề với một ứng dụng dành cho người đăng ký. Ứng dụng này sẽ nhận và xử lý thông báo được xuất bản lên chủ đề. Sau khi tạo gói thuê bao, bạn cần cấp quyền Android Device Policy để phát hành lên chủ đề của mình.

1. Bật API Pub/Sub cho dự án

Để biết cách bật API Pub/Sub, hãy xem hướng dẫn bắt đầu nhanh dành cho bảng điều khiển. Đảm bảo rằng bạn chọn cùng một dự án đã bật API Quản lý Android.

2. Tạo một chủ đề

Sau khi bật API, bạn cần tạo một chủ đề mà Android Device Policy có thể phát hành thông báo. Có hai cách để tạo chủ đề:

a. Theo cách thủ công trong Bảng điều khiển Google Cloud Platform.
b. Sử dụng API Pub/Sub (xem phần tạo phương thức topicmethod).

Sau khi tạo chủ đề, hãy ghi lại tên chủ đề.

3. Tạo gói thuê bao

Gói thuê bao sẽ ghi lại luồng tin nhắn đã đăng cho một chủ đề nhất định. Có hai cách để tạo gói thuê bao:

a. Theo cách thủ công trong Bảng điều khiển Google Cloud Platform.
b. Sử dụng API Pub/Sub (xem phần tạo phương thức đăng ký).

4. Cấp quyền xuất bản lên chủ đề của bạn cho Android Device Policy

Bạn cần cấp cho android-cloud-policy@system.gserviceaccount.com quyền xuất bản chủ đề của mình. Có hai cách để cấp quyền xuất bản:

a. Theo cách thủ công trong Bảng điều khiển Google Cloud Platform.

  • Thêm android-cloud-policy@system.gserviceaccount.com làm thành viên vào chủ đề của bạn.
  • Nhấp vào Chọn vai trò > Pub/Sub > Nhà xuất bản Pub/Sub.

b. Sử dụng API Pub/Sub (xem bài viết Kiểm soát quyền truy cập qua API IAM của Google Cloud Pub/Sub)

  • Thêm serviceAccount:android-cloud-policy@system.gserviceaccount.com vào members.
  • Đặt role thành roles/pubsub.publisher.

5. Cập nhật doanh nghiệp để hỗ trợ thông báo

Để kết nối các thông báo về một doanh nghiệp với chủ đề mà bạn đã tạo, hãy gọi hàm enterprises.patch và chỉ định các tham số sau:

  • pubsubTopic: Tên của chủ đề xuất bản/sub ở dạng projects/{project}/topics/{topic}.
  • enabledNotificationTypes: Bao gồm tất cả các loại thông báo bạn muốn nhận. Chọn ENROLLMENT, STATUS_REPORTCOMMAND.

6. Sử dụng API Pub/Sub để nhận thông báo

Gói thuê bao có thể sử dụng cơ chế đẩy hoặc kéo để gửi thông báo. Bạn có thể xem nguyên tắc và hướng dẫn về cách nhận thông báo thông qua cả hai cơ chế này trong Hướng dẫn dành cho người đăng ký Pub/Sub.

Định dạng thông báo

Tin nhắn có dạng PubsubMessage. Trường attributes của thông báo chứa thuộc tính có khoá notificationType và giá trị được đặt thành loại thông báo đã kích hoạt thông báo (ví dụ: ENROLLMENT). Trường data của thông báo chứa nội dung biểu diễn JSON của tài nguyên đã được cập nhật, được mã hoá dưới dạng chuỗi UTF-8. Sau đây là các thông báo và loại tài nguyên tương ứng:

  • Thông báo COMMAND sử dụng loại tài nguyên Thao tác.
  • Thông báo của USAGE_LOGS sử dụng loại tài nguyên UsageLogEvent.
  • Thông báo ENROLLMENTSTATUS_REPORT sử dụng loại tài nguyên Device (Thiết bị).

Khi thiết lập pubsubTopic trên Enterprise, thông báo ban đầu sẽ được phát hành với notificationType được đặt thành test. Thông báo này được gửi để xác minh rằng Android Device Policy có quyền phát hành đối với chủ đề này và nên được bỏ qua.