Xử lý các sự kiện trên Google Chat

Trang này giải thích cách các ứng dụng Google Chat có thể nhận và phản hồi các sự kiện trong Google Chat.

Một Sự kiện trên Google Chat biểu thị một hoạt động hoặc thay đổi trong Chat, chẳng hạn như một tin nhắn mới trong một không gian. Ứng dụng Chat có thể sử dụng các sự kiện để hiểu rõ điều gì đã xảy ra và thực hiện hành động hoặc phản hồi theo cách có ý nghĩa cho người dùng.

Sau đây là một số ví dụ về cách bạn có thể sử dụng sự kiện:

  • Theo dõi và trả lời tin nhắn mới trong một không gian, chẳng hạn như kiểm tra các từ khoá hoặc cụm từ.
  • Gửi tin nhắn chào mừng khi người dùng tham gia không gian, để giải thích nguyên tắc về không gian hoặc chia sẻ các mẹo về cách sử dụng hiệu quả ứng dụng Chat.
  • Theo dõi và phân tích hoạt động trong Chat. Ví dụ: gửi báo cáo hằng tháng về các thành viên mới hoặc các tin nhắn có nhiều lượt thể hiện cảm xúc hay phản hồi nhất.
  • Giao tiếp trên nhiều nền tảng nhắn tin. Ví dụ: người dùng có thể gửi và nhận tin nhắn của người dùng trên một nền tảng nhắn tin khác mà không cần rời khỏi ứng dụng Chat.

Cách hoạt động của sự kiện

Bất cứ khi nào có điều gì đó xảy ra trong Google Chat, một tài nguyên API Google Chat sẽ được tạo, cập nhật hoặc bị xoá. Chat sử dụng các sự kiện để cung cấp thông tin cho ứng dụng Chat về loại hoạt động đã diễn ra và tài nguyên API Chat bị ảnh hưởng.

Ví dụ về cách một tin nhắn được đăng lên phòng Google Chat sẽ kích hoạt một sự kiện.
Hình 1. Người dùng đăng tin nhắn trong phòng Chat, việc này sẽ tạo tài nguyên Message. Sau đó, Chat sẽ tạo một sự kiện chứa dữ liệu về tin nhắn mới.

Chat phân loại các sự kiện theo loại. Các loại sự kiện giúp bạn lọc và chỉ nhận loại thông tin mình cần, đồng thời cho phép bạn xử lý các hoạt động tương tự theo cách tương tự.

Bảng sau đây cho biết mức độ ảnh hưởng của một hoạt động trong Chat đến tài nguyên có liên quan của API Chat và loại sự kiện mà ứng dụng Chat nhận được:

Hoạt động Tài nguyên của API Chat Loại sự kiện
Người dùng đăng tin nhắn trong phòng Chat Tài nguyên Message đã được tạo. Tin nhắn mới
Người dùng trở thành người quản lý không gian. Tài nguyên Membership đã được cập nhật. Đã cập nhật gói hội viên
Người dùng thể hiện cảm xúc với một tin nhắn. Tài nguyên Reaction đã được tạo. Lượt thể hiện cảm xúc mới
Một người dùng rời khỏi không gian. Tài nguyên Membership đã bị xoá. Gói thành viên đã xoá

Nhận sự kiện từ Google Chat

Để nhận sự kiện, ứng dụng Chat có thể làm một trong những việc sau:

  • Đăng ký các sự kiện bằng API Sự kiện Google Workspace để nhận các sự kiện khi chúng diễn ra.
  • Truy vấn các sự kiện gần đây bằng cách gọi API Chat.

Bảng sau đây giải thích sự khác biệt và lý do bạn nên truy vấn hoặc đăng ký sự kiện:

Đăng ký nhận thông tin về sự kiện Truy vấn sự kiện
Trường hợp sử dụng
  • Xử lý hoặc phản hồi sự kiện theo thời gian thực.
  • Giám sát hoạt động của người dùng trong gói thành viên và khám phá các không gian mới để giám sát.
  • Xử lý hoặc phản hồi sự kiện theo định kỳ hoặc thông qua một điều kiện kích hoạt.
  • Tìm nạp các sự kiện đã bỏ lỡ từ một gói thuê bao (do gói thuê bao ngừng hoạt động hoặc không hoạt động).
API Google Workspace Events API Chat API
Nguồn sự kiện Không gian và người dùng Chỉ không gian
Sự kiện được hỗ trợ
  • Tin nhắn
  • Hội viên
  • Lượt thể hiện cảm xúc
  • Không gian

Để biết danh sách các loại sự kiện được hỗ trợ, hãy xem bài viết Các loại sự kiện để tạo gói thuê bao trong tài liệu về API Sự kiện của Google Workspace.
  • Tin nhắn
  • Hội viên
  • Lượt thể hiện cảm xúc
  • Không gian

Để biết danh sách các loại sự kiện được hỗ trợ, hãy xem tài nguyên spaceEvents trong tài liệu tham khảo về API Chat.
Định dạng sự kiện Một thông báo trên Google Cloud Pub/Sub, được định dạng theo thông số kỹ thuật của CloudEvent. Để biết thông tin chi tiết, hãy xem Cấu trúc của các sự kiện trên Google Workspace. Tài nguyên API Chat ( spaces.spaceEvent)
Dữ liệu sự kiện Chuỗi được mã hoá base64 có hoặc không có dữ liệu tài nguyên. Để xem ví dụ về các tải trọng, hãy xem bài viết Dữ liệu sự kiện. Tải trọng JSON chứa dữ liệu tài nguyên. Một số loại sự kiện chỉ bao gồm các trường tài nguyên nhất định. Để biết ví dụ về các tải trọng, hãy xem tài liệu tham khảo.

Ví dụ: Truy vấn hoặc đăng ký các sự kiện về thành viên trong một không gian

Trong ví dụ này, một ứng dụng Chat muốn nhận thông tin về những thay đổi đối với thành viên của phòng Chat. Trong không gian, hoạt động thành viên sau đây sẽ diễn ra:

  • Người dùng tham gia không gian, việc này sẽ tạo tài nguyên Membership và kích hoạt một sự kiện thành viên mới.
  • Người dùng trở thành người quản lý không gian, thao tác này cập nhật tài nguyên Membership cho người dùng và kích hoạt sự kiện thành viên đã cập nhật.
  • Người dùng rời khỏi không gian, thao tác này sẽ xoá tài nguyên Membership đối với người dùng và kích hoạt một sự kiện đã xoá thành viên.

Đăng ký tham gia sự kiện dành cho hội viên

Để nhận sự kiện theo thời gian thực, ứng dụng Chat sẽ gọi phương thức API Sự kiện của Google Workspace subscriptions.create() để đăng ký không gian cho tất cả các loại sự kiện thành viên. Sau khi tạo gói thuê bao, ứng dụng Chat có thể bắt đầu nhận các sự kiện dành cho thành viên.

Ứng dụng trong Chat đăng ký nhận sự kiện bằng API Sự kiện của Google Workspace.
Hình 2. Ứng dụng Chat nhận các sự kiện trong gói thành viên thông qua một gói thuê bao bằng API Sự kiện của Google Workspace.

Trong hình 2, ứng dụng Chat có một gói thuê bao đang hoạt động trong không gian. Vì vậy, ứng dụng sẽ nhận được một sự kiện mỗi khi có thành viên trong không gian thay đổi. Sau đó, ứng dụng Chat có thể xử lý hoặc phản hồi theo thời gian thực cho bất kỳ hoạt động nào, chẳng hạn như đăng tin nhắn chào mừng riêng tư cho thành viên đã tham gia không gian.

Để tìm hiểu về cách tạo gói thuê bao bằng API Sự kiện Google Workspace, hãy xem tài liệu về API Sự kiện của Google Workspace.

Truy vấn các sự kiện gần đây về gói thành viên

Thay vì nhận các sự kiện thành viên như đang diễn ra, ứng dụng Chat có thể gọi API Chat để liệt kê các sự kiện gần đây trong không gian liên quan đến hoạt động của thành viên.

Ứng dụng trong Chat truy vấn các sự kiện bằng API Chat.
Hình 3. Một ứng dụng trong Chat nhận các sự kiện thành viên gần đây bằng cách truy vấn các sự kiện trong không gian thông qua API Chat.

Trong hình 3, một ứng dụng trong Chat sẽ gọi phương thức spaces.spaceEvents.list() của API Chat sau khi tất cả các hoạt động thành viên đã diễn ra và lọc truy vấn để tìm các sự kiện thành viên mới, đã cập nhật và đã bị xoá. API Chat trả về danh sách các tài nguyên spaceEvent đại diện cho từng thay đổi đối với gói thành viên. Sau đó, ứng dụng Chat có thể xử lý hoặc phản hồi dựa trên hoạt động gần đây, chẳng hạn như đăng một tin nhắn hằng tuần kèm theo nội dung tóm tắt về hoạt động của tư cách thành viên trong 7 ngày qua của không gian này.

Để truy vấn các sự kiện bằng API Chat, hãy xem phần Liệt kê các sự kiện từ một phòng Google Chat.

Các điểm hạn chế

  • Đối với các gói thuê bao của người dùng, sự kiện về thành viên mới trong tin nhắn trực tiếp hoặc cuộc trò chuyện nhóm chưa đặt tên (google.workspace.chat.membership.v1.created), chỉ được kích hoạt sau khi người dùng đăng tin nhắn đầu tiên.
  • Các thay đổi đối với nhật ký của không gian sẽ không kích hoạt các sự kiện đã cập nhật của không gian (Loại sự kiện: google.workspace.chat.spaces.v1.updated).
  • Để nhận được các sự kiện dành cho thành viên, người dùng phải là thành viên trực tiếp của không gian. Nếu một người dùng được thêm, cập nhật hoặc bị xoá gián tiếp vào không gian thông qua một Nhóm trên Google, thì gói thuê bao sẽ không nhận được những sự kiện thành viên đó. Để tìm hiểu cách hoạt động của thành viên trong nhóm trên Google Groups, hãy xem phần Thêm một nhóm trên Google Groups vào một không gian.