Hướng dẫn này mô tả cách các ứng dụng Google Chat có thể thu thập và xử lý thông tin của người dùng bằng cách tạo dữ liệu đầu vào của biểu mẫu trong giao diện dựa trên thẻ.
Ứng dụng nhắn tin yêu cầu người dùng cung cấp thông tin để thực hiện các thao tác trong hoặc ngoài ứng dụng Chat, bao gồm cả những cách sau:
- Định cấu hình chế độ cài đặt. Ví dụ: để cho phép người dùng tuỳ chỉnh chế độ cài đặt thông báo hoặc định cấu hình và thêm ứng dụng Chat vào một hoặc nhiều không gian.
- Tạo hoặc cập nhật thông tin trong các ứng dụng khác của Google Workspace. Ví dụ: cho phép người dùng tạo sự kiện trên Lịch Google.
- Cho phép người dùng truy cập và cập nhật tài nguyên trong các ứng dụng hoặc dịch vụ web khác. Ví dụ: ứng dụng Chat có thể giúp người dùng cập nhật trạng thái của phiếu yêu cầu hỗ trợ ngay trong không gian Chat.
Điều kiện tiên quyết
Node.js
Một ứng dụng Google Chat đã bật các tính năng tương tác. Để tạo một ứng dụng Chat tương tác bằng dịch vụ HTTP, hãy hoàn tất hướng dẫn bắt đầu nhanh này.
Python
Một ứng dụng Google Chat đã bật các tính năng tương tác. Để tạo một ứng dụng Chat tương tác bằng dịch vụ HTTP, hãy hoàn thành phần bắt đầu nhanh này.
Java
Ứng dụng Google Chat đã bật các tính năng tương tác. Để tạo một ứng dụng Chat tương tác bằng dịch vụ HTTP, hãy hoàn tất hướng dẫn bắt đầu nhanh này.
Apps Script
Một ứng dụng Google Chat đã bật các tính năng tương tác. Để tạo một ứng dụng Chat có thể tương tác trong Apps Script, hãy hoàn thành hướng dẫn nhanh này.
Tạo biểu mẫu bằng thẻ
Để thu thập thông tin, các ứng dụng Chat thiết kế biểu mẫu và dữ liệu đầu vào, đồng thời tạo các biểu mẫu đó thành thẻ. Để hiển thị thẻ cho người dùng, ứng dụng Chat có thể sử dụng các giao diện Chat sau:
- Tin nhắn chứa một hoặc nhiều thẻ.
- Trang chủ là một thẻ xuất hiện trong thẻ Trang chủ trong tin nhắn trực tiếp bằng ứng dụng Chat.
- Hộp thoại là các thẻ mở trong một cửa sổ mới từ tin nhắn và trang chủ.
Ứng dụng trò chuyện có thể tạo thẻ bằng các tiện ích sau:
Tiện ích nhập dữ liệu biểu mẫu yêu cầu người dùng cung cấp thông tin. Bạn có thể tuỳ ý thêm thông tin xác thực vào các tiện ích đầu vào của biểu mẫu để đảm bảo rằng người dùng nhập và định dạng thông tin chính xác. Các ứng dụng trong Chat có thể dùng những tiện ích nhập biểu mẫu sau đây:
- Thành phần nhập văn bản (
textInput
) cho văn bản tự do hoặc văn bản đề xuất. - Dữ liệu đầu vào lựa chọn (
selectionInput
) là các thành phần trên giao diện người dùng có thể chọn được, chẳng hạn như hộp đánh dấu, nút chọn và trình đơn thả xuống. Tiện ích nhập lựa chọn cũng có thể điền các mục từ nguồn dữ liệu tĩnh hoặc động. Ví dụ: người dùng có thể chọn trong danh sách các phòng Chat mà họ là thành viên. - Bộ chọn ngày giờ (
dateTimePicker
) cho các mục nhập ngày và giờ.
- Thành phần nhập văn bản (
Tiện ích nút để người dùng có thể gửi các giá trị mà họ đã nhập vào thẻ. Sau khi người dùng nhấp vào nút này, ứng dụng Chat có thể xử lý thông tin mà ứng dụng nhận được.
Trong ví dụ sau, một thẻ thu thập thông tin liên hệ bằng cách sử dụng một thành phần nhập văn bản, bộ chọn ngày giờ và tiện ích nhập lựa chọn:
Node.js
Python
Java
Apps Script
Để biết thêm ví dụ về các tiện ích tương tác mà bạn có thể dùng để thu thập thông tin, hãy xem phần Thiết kế thẻ hoặc hộp thoại tương tác.
Nhận dữ liệu từ các tiện ích tương tác
Bất cứ khi nào người dùng nhấp vào một nút, ứng dụng Chat sẽ nhận được một sự kiện tương tác CARD_CLICKED
chứa thông tin về lượt tương tác đó. Trọng tải của các sự kiện tương tác CARD_CLICKED
chứa một đối tượng common.formInputs
với mọi giá trị mà người dùng nhập.
Bạn có thể truy xuất các giá trị từ đối tượng common.formInputs.WIDGET_NAME
, trong đó WIDGET_NAME là trường name
mà bạn đã chỉ định cho tiện ích.
Các giá trị được trả về dưới dạng một loại dữ liệu cụ thể cho tiện ích (được biểu thị dưới dạng đối tượng Inputs
).
Phần sau đây cho thấy một phần của sự kiện tương tác CARD_CLICKED
, trong đó người dùng đã nhập các giá trị cho từng tiện ích:
HTTP
{
"type": "CARD_CLICKED",
"common": { "formInputs": {
"contactName": { "stringInputs": {
"value": ["Kai 0"]
}},
"contactBirthdate": { "dateInput": {
"msSinceEpoch": 1000425600000
}},
"contactType": { "stringInputs": {
"value": ["Personal"]
}}
}}
}
Apps Script
{
"type": "CARD_CLICKED",
"common": { "formInputs": {
"contactName": { "": { "stringInputs": {
"value": ["Kai 0"]
}}},
"contactBirthdate": { "": { "dateInput": {
"msSinceEpoch": 1000425600000
}}},
"contactType": { "": { "stringInputs": {
"value": ["Personal"]
}}}
}}
}
Để nhận dữ liệu, ứng dụng Chat của bạn sẽ xử lý sự kiện tương tác để lấy các giá trị mà người dùng nhập vào tiện ích. Bảng sau đây cho biết cách lấy giá trị cho một tiện ích nhập dữ liệu dạng nhất định. Đối với mỗi tiện ích, bảng này cho biết loại dữ liệu mà tiện ích chấp nhận, nơi lưu trữ giá trị trong sự kiện tương tác và một giá trị mẫu.
Tiện ích nhập dữ liệu vào biểu mẫu | Loại dữ liệu đầu vào | Giá trị nhập từ sự kiện tương tác | Giá trị mẫu |
---|---|---|---|
textInput |
stringInputs |
event.common.formInputs.contactName.stringInputs.value[0] |
Kai O |
selectionInput |
stringInputs |
Để nhận giá trị đầu tiên hoặc duy nhất, event.common.formInputs.contactType.stringInputs.value[0] |
Personal |
dateTimePicker chỉ chấp nhận ngày. |
dateInput |
event.common.formInputs.contactBirthdate.dateInput.msSinceEpoch . |
1000425600000 |
Chuyển dữ liệu sang một thẻ khác
Sau khi người dùng gửi thông tin từ một thẻ, bạn có thể cần trả về các thẻ bổ sung để thực hiện bất kỳ thao tác nào sau đây:
- Giúp người dùng hoàn tất các biểu mẫu dài hơn bằng cách tạo các phần riêng biệt.
- Cho phép người dùng xem trước và xác nhận thông tin trên thẻ ban đầu để họ có thể xem lại câu trả lời trước khi gửi.
- Linh động điền các phần còn lại của biểu mẫu. Ví dụ: để nhắc người dùng tạo cuộc hẹn, ứng dụng Chat có thể hiển thị một thẻ ban đầu yêu cầu lý do của cuộc hẹn, sau đó điền vào một thẻ khác cung cấp thời gian phù hợp dựa trên loại cuộc hẹn.
Để chuyển dữ liệu đầu vào từ thẻ ban đầu, bạn có thể tạo tiện ích button
bằng actionParameters
chứa name
của tiện ích và giá trị mà người dùng nhập, như minh hoạ trong ví dụ sau:
Node.js
Python
Java
Apps Script
Khi người dùng nhấp vào nút này, ứng dụng Chat sẽ nhận được một sự kiện tương tác CARD_CLICKED
mà bạn có thể nhận dữ liệu từ đó.
Phản hồi nội dung gửi qua biểu mẫu
Sau khi nhận được dữ liệu từ thông báo hoặc hộp thoại thẻ, ứng dụng Chat sẽ phản hồi bằng cách xác nhận đã nhận được hoặc trả về lỗi.
Trong ví dụ sau, ứng dụng Chat sẽ gửi một thông báo văn bản để xác nhận rằng ứng dụng đã nhận được thành công một biểu mẫu được gửi từ hộp thoại hoặc thông báo thẻ.
Node.js
Python
Java
Apps Script
Để xử lý và đóng hộp thoại, bạn cần trả về một đối tượng ActionResponse
. Đối tượng này sẽ chỉ định xem bạn muốn gửi thông báo xác nhận, cập nhật thẻ hoặc thông báo gốc hay chỉ cần đóng hộp thoại. Để biết các bước, hãy xem phần Đóng hộp thoại.
Khắc phục sự cố
Khi ứng dụng Google Chat hoặc thẻ trả về lỗi, giao diện Chat sẽ hiển thị thông báo "Đã xảy ra lỗi". hoặc "Không thể xử lý yêu cầu của bạn". Đôi khi, giao diện người dùng Chat không hiển thị thông báo lỗi nào, nhưng ứng dụng Chat hoặc thẻ lại tạo ra kết quả không mong muốn; ví dụ: thông báo thẻ có thể không xuất hiện.
Mặc dù thông báo lỗi có thể không hiển thị trong giao diện người dùng Chat, nhưng bạn có thể xem thông báo lỗi mô tả và dữ liệu nhật ký để khắc phục lỗi khi bật tính năng ghi nhật ký lỗi cho ứng dụng Chat. Để được trợ giúp xem, gỡ lỗi và khắc phục lỗi, hãy xem bài viết Khắc phục và khắc phục lỗi Google Chat.
Chủ đề có liên quan
- Xem mẫu Trình quản lý danh bạ. Đây là một ứng dụng Chat nhắc người dùng hoàn tất biểu mẫu liên hệ từ tin nhắn và hộp thoại thẻ.
- Mở hộp thoại tương tác