Nhận và trả lời hoạt động tương tác của người dùng

Trang này mô tả cách ứng dụng Google Chat có thể nhận và phản hồi các hoạt động tương tác của người dùng, còn gọi là sự kiện tương tác của ứng dụng Google Chat.

Sự kiện tương tác với ứng dụng Google Chat biểu thị bất kỳ hành động nào mà người dùng thực hiện để gọi hoặc tương tác với một ứng dụng trong Chat, chẳng hạn như đề cập đến một ứng dụng bằng @hoặc thêm ứng dụng đó vào một không gian. Khi người dùng tương tác với một ứng dụng trong Chat, Google Chat sẽ gửi cho ứng dụng Chat một sự kiện tương tác. Ứng dụng Chat có thể sử dụng sự kiện này để xử lý lượt tương tác và tạo phản hồi.

Ví dụ: các ứng dụng trong Chat sử dụng sự kiện tương tác để thực hiện bất kỳ thao tác nào sau đây:

Ví dụ về sự kiện tương tác Câu trả lời thông thường của một ứng dụng Chat
Người dùng gọi một ứng dụng trong Chat bằng cách đề cập đến ứng dụng đó bằng @ hoặc dùng lệnh dấu gạch chéo. Ứng dụng Chat sẽ xử lý nội dung tin nhắn để tạo tin nhắn. Ví dụ: một ứng dụng Chat phản hồi lệnh /about bằng một thông báo giải thích những việc mà ứng dụng Chat có thể thực hiện.
Người dùng thêm ứng dụng Chat vào một không gian. Ứng dụng Chat gửi thông báo giới thiệu giải thích chức năng của ứng dụng và cách người dùng trong không gian có thể tương tác với ứng dụng.
Một người dùng xoá ứng dụng trong Chat khỏi không gian. Ứng dụng Chat sẽ xoá mọi thông báo đến được định cấu hình cho không gian (chẳng hạn như xoá webhook) và giải phóng bộ nhớ trong.
Người dùng nhấp vào một nút trên thẻ hoặc hộp thoại do ứng dụng Chat gửi. Ứng dụng Chat sẽ xử lý và lưu trữ mọi dữ liệu mà người dùng đã gửi hoặc trả về một thẻ hay hộp thoại khác.

Đối với mỗi loại tương tác của người dùng, Google Chat sẽ gửi một loại sự kiện tương tác khác nhau để giúp ứng dụng Chat xử lý từng loại sự kiện cho phù hợp. Ví dụ: Google Chat sử dụng loại sự kiện ADDED_TO_SPACE cho bất kỳ hoạt động tương tác nào khi người dùng thêm ứng dụng Chat vào không gian để ứng dụng Chat có thể xử lý câu trả lời, chẳng hạn như đăng tin nhắn chào mừng lên không gian. Để xem tất cả sự kiện tương tác được hỗ trợ, hãy xem tài liệu tham khảo về EventType.

Trang này mô tả cách thực hiện những việc sau:

  • Thiết lập ứng dụng Chat để nhận sự kiện.
  • Xử lý sự kiện tương tác trên cơ sở hạ tầng của bạn.
  • Nếu thích hợp, hãy phản hồi các sự kiện tương tác.

Nhận sự kiện tương tác trong ứng dụng trong Chat

Phần này mô tả cách nhận và xử lý các sự kiện tương tác cho ứng dụng Chat.

Định cấu hình ứng dụng Chat để nhận các sự kiện tương tác

Không phải ứng dụng nào trong Chat cũng có tính tương tác. Ví dụ: các webhook đến chỉ có thể gửi tin nhắn đi và không thể trả lời người dùng. Nếu đang xây dựng một ứng dụng Chat có tính tương tác, bạn phải chọn một điểm cuối cho phép ứng dụng Chat nhận, xử lý và phản hồi các sự kiện tương tác. Để tìm hiểu thêm về cách thiết kế ứng dụng của bạn trong Chat, hãy xem bài viết Cấu trúc triển khai ứng dụng trong Chat.

Nếu đã tạo một ứng dụng Chat tương tác, bạn phải định cấu hình API Google Chat để Google Chat có thể gửi cho bạn các sự kiện tương tác:

  1. Trong bảng điều khiển Google Cloud, hãy mở trang API Google Chat:

    Truy cập trang API Google Chat

  2. Nhấp vào thẻ Cấu hình.
  3. Trong phần Tính năng tương tác, hãy nhấp vào nút bật/tắt Bật các tính năng tương tác để chuyển sang vị trí bật.
  4. Trong phần Chức năng, hãy chọn một hoặc cả hai hộp đánh dấu sau:
    1. Nhận tin nhắn 1:1: Cho phép người dùng tương tác với ứng dụng Chat của bạn trong các không gian tin nhắn trực tiếp (DM). Ứng dụng Chat nhận được các sự kiện tương tác bất cứ khi nào người dùng gửi tin nhắn trong phòng nhắn tin trực tiếp.
    2. Tham gia không gian và cuộc trò chuyện nhóm: Cho phép người dùng thêm và xoá ứng dụng Chat trong các không gian có nhiều người. Ứng dụng Chat nhận các sự kiện tương tác mỗi khi sự kiện đó được thêm vào hoặc bị xoá khỏi không gian, cũng như mỗi khi người dùng đề cập bằng @hoặc sử dụng lệnh gạch chéo trong không gian.
  5. Trong phần Cài đặt kết nối, hãy chỉ định nơi Google Chat gửi sự kiện tương tác với ứng dụng trong Chat.
  6. Không bắt buộc: Trong lệnh Slash, hãy thêm và định cấu hình một hoặc nhiều lệnh dấu gạch chéo. Để biết thêm thông tin, hãy xem nội dung Thiết lập lệnh dấu gạch chéo.
  7. Không bắt buộc: Trong phần Bản xem trước đường liên kết, hãy thêm và định cấu hình một hoặc nhiều mẫu URL mà bản xem trước ứng dụng Chat của bạn xem trước. Để biết thêm thông tin, hãy xem bài viết Xem trước đường liên kết.
  8. Nhấp vào Lưu.

Ứng dụng Chat hiện đã được định cấu hình để nhận các sự kiện tương tác từ Google Chat.

Xử lý các lần thử gọi lại lệnh gọi HTTP đến dịch vụ của bạn

Nếu không gửi được yêu cầu HTTPS đến dịch vụ của bạn (chẳng hạn như hết thời gian chờ, lỗi mạng tạm thời hoặc mã trạng thái HTTPS không phải 2xx), thì Google Chat có thể thử phân phối lại một vài lần trong vòng vài phút (nhưng điều này không được đảm bảo). Do đó, ứng dụng Chat có thể nhận được cùng một tin nhắn vài lần trong một số tình huống nhất định. Nếu yêu cầu hoàn tất thành công nhưng trả về một tải trọng tin nhắn không hợp lệ, thì Google Chat sẽ không thử lại yêu cầu.

Xử lý hoặc phản hồi sự kiện tương tác

Phần này giải thích cách các ứng dụng Google Chat có thể xử lý và phản hồi các sự kiện tương tác.

Sau khi nhận được một sự kiện tương tác từ Google Chat, ứng dụng Chat của bạn có thể phản hồi theo nhiều cách. Trong nhiều trường hợp, các ứng dụng tương tác trong Chat sẽ trả lời người dùng bằng tin nhắn. Ứng dụng Google Chat cũng có thể tra cứu một số thông tin từ một nguồn dữ liệu, ghi lại thông tin về sự kiện tương tác hoặc bất cứ điều gì khác. Hành vi xử lý này về cơ bản là yếu tố xác định ứng dụng Google Chat.

Đối với mỗi sự kiện tương tác, các ứng dụng trong Chat sẽ nhận được một nội dung yêu cầu, là tải trọng JSON đại diện cho sự kiện đó. Bạn có thể sử dụng thông tin này để xử lý phản hồi. Để biết ví dụ về các gói dữ liệu sự kiện, hãy xem phần Các loại sự kiện tương tác với ứng dụng trong Chat.

Sơ đồ dưới đây minh hoạ cách ứng dụng Google Chat thường xử lý hoặc phản hồi nhiều loại sự kiện tương tác:

Cấu trúc về cách các ứng dụng trong Google Chat xử lý sự kiện tương tác.

Trả lời theo thời gian thực

Sự kiện tương tác cho phép các ứng dụng trong Chat phản hồi theo thời gian thực hoặc đồng bộ. Phản hồi đồng bộ không yêu cầu xác thực.

Để tạo phản hồi đồng bộ cho các sự kiện tương tác, hãy xem hướng dẫn sau:

Để phản hồi đồng bộ, ứng dụng Chat phải phản hồi trong vòng 30 giây và phản hồi phải được đăng trong không gian diễn ra tương tác. Nếu không, ứng dụng Chat có thể phản hồi không đồng bộ.

Phản hồi không đồng bộ

Đôi khi, các ứng dụng trong Chat phải phản hồi một sự kiện tương tác sau 30 giây hoặc thực hiện các nhiệm vụ bên ngoài không gian nơi sự kiện tương tác được tạo ra. Ví dụ: Một ứng dụng Chat có thể cần phản hồi cho người dùng sau khi hoàn thành một tác vụ chạy trong thời gian dài. Trong trường hợp này, các ứng dụng trong Chat có thể phản hồi không đồng bộ bằng cách gọi API Google Chat.

Để tạo tin nhắn bằng API Chat, hãy xem phần Tạo tin nhắn. Để biết hướng dẫn về cách sử dụng các phương thức API Chat khác, hãy xem bài viết Tổng quan về Chat API.