Trang này giải thích cách tạo và gửi thông báo trên thẻ trang chủ của ứng dụng cho ứng dụng Chat. Trang chủ ứng dụng là thông báo bằng thẻ có thể tuỳ chỉnh mà ứng dụng Chat gửi cho người dùng khi họ mở tin nhắn trực tiếp bằng ứng dụng Chat.
Ví dụ: bạn có thể định cấu hình thông báo trên thẻ màn hình chính của ứng dụng để bao gồm các mẹo tương tác với ứng dụng Chat bằng lệnh dấu gạch chéo. Đối với người dùng cuối, trang chủ ứng dụng chỉ xuất hiện trong tin nhắn trực tiếp của ứng dụng Chat nếu nhà phát triển ứng dụng bật tính năng này.
Sử dụng Trình tạo thẻ để thiết kế và xem trước thông báo trong thẻ JSON cho ứng dụng nhắn tin:
Mở Trình tạo thẻĐiều kiện tiên quyết
Python
- Một tài khoản Google Workspace có quyền truy cập vào Google Chat.
- Một ứng dụng Chat đã phát hành. Để tạo ứng dụng Chat, hãy xem phần quickstart này.
- Đã định cấu hình một ứng dụng Google Chat để tương tác. Để biết thêm thông tin, hãy xem bài viết Định cấu hình ứng dụng Google Chat để nhận các sự kiện tương tác.
Apps Script
- Một tài khoản Google Workspace có quyền truy cập vào Google Chat.
- Một ứng dụng Chat đã phát hành. Để tạo ứng dụng Chat, hãy làm theo phần quickstart này.
- Đã định cấu hình một ứng dụng Google Chat để tương tác. Để biết thêm thông tin, hãy xem bài viết Định cấu hình ứng dụng Google Chat để nhận các sự kiện tương tác.
Định cấu hình trong bảng điều khiển Google Cloud
Python
Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > Sản phẩm khác > Google Workspace > Thư viện sản phẩm > API Google Chat.
Nhấp vào Quản lý rồi nhấp vào thẻ Cấu hình.
Bật Support App Home.
Chọn hộp kiểm Support App Home.
Trong trường URL trang chủ ứng dụng, hãy thêm một URL. Giá trị này thường là URL giống với URL ứng dụng. URL này được gọi cho các sự kiện
APP_HOME
.Nhấp vào Lưu.
Apps Script
Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > Sản phẩm khác > Google Workspace > Thư viện sản phẩm > API Google Chat.
Nhấp vào Quản lý rồi nhấp vào thẻ Cấu hình.
Chọn hộp kiểm Support App Home.
Nhấp vào Lưu.
Định cấu hình ứng dụng Chat
Định cấu hình ứng dụng Chat để gửi tin nhắn thẻ mới cho trang chủ ứng dụng.
Python
Khi người dùng mở tin nhắn trực tiếp từ ứng dụng Chat, sự kiện APP_HOME
sẽ được gửi đến ứng dụng Chat. Khi ứng dụng Chat nhận được sự kiện này, thực thể JSON của RenderActions
sẽ được trả về cùng với thao tác điều hướng pushCard
.
@app.route('/', methods=['POST'])
def on_event():
event = request.get_json()
chat = event.get('chat')
if chat is not None:
return handle_chat_event(event)
def handle_chat_event(event):
if event['chat'].get('type') == 'APP_HOME':
return get_app_home_card()
def get_app_home_card():
return {
"action": {
"navigations": [
{
"pushCard": {
"sections": [
{
"widgets": [
{
"buttonList": {
"buttons": [
{
"text": "Open documentation",
"onClick": {
"openLink": {
"url": "https://developers.google.com/chat"
}
}
}
]
}
}
]
}
]
}
}
]
}
}
Apps Script
Ví dụ này gửi tin nhắn thẻ bằng cách trả về tệp JSON của thẻ. Bạn cũng có thể sử dụng dịch vụ thẻ Apps Script.
Triển khai hàm onAppHome
để trả về một thực thể JSON của RenderActions
với tính năng điều hướng pushCard
:
// "onAppHome" is the pre-defined name of the callback that the Chat servers
// execute.
function onAppHome() {
return {
action: {
navigations: [
{
pushCard: getCard()
}
]
}
};
}
function getCard() {
return {
sections: [
{
widgets: [
{
buttonList: {
buttons: [
{
text: "Open documentation",
onClick: {
openLink: {
url: "https://developers.google.com/chat"
}
}
}
]
}
}
]
}
]
};
}
Cập nhật thông báo trên thẻ màn hình chính của ứng dụng
Bạn có thể cập nhật thông báo trên thẻ trang chủ của ứng dụng khi người dùng gửi thông tin trong thông báo thẻ hoặc đóng hộp thoại. Ví dụ: thông báo ban đầu trên thẻ màn hình chính của ứng dụng là thông báo chào mừng yêu cầu người dùng điền thông tin vào một biểu mẫu. Sau khi người dùng hoàn tất biểu mẫu, thông báo cập nhật về thẻ màn hình chính của ứng dụng sẽ được gửi. Bản cập nhật phải được trả về bằng một thực thể của RenderActions
có chứa thành phần điều hướng updateCard
.
Python
Đối với các ứng dụng HTTP, việc cập nhật thông báo trên thẻ màn hình chính của ứng dụng cũng tương tự như Xử lý thông tin do người dùng nhập, nhưng bạn phải trả về RenderActions
. invokedFunction
biểu thị tên của hàm được gọi liên kết với tiện ích Card
. Để biết thêm thông tin, hãy xem CommonEventObject
.
Trong ví dụ sau, submitForm
cho thấy người dùng đã gửi dữ liệu biểu mẫu:
@app.route('/', methods=['POST'])
def on_event():
event = request.get_json()
chat = event.get('chat')
if chat is not None:
return handle_chat_event(event)
def handle_chat_event(event):
if event['chat'].get('type') == 'SUBMIT_FORM':
event_object = event.get('commonEventObject')
if event_object is not None:
// Forms
if 'submitForm' == event_object.get('invokedFunction'):
return {
'render_actions': {
'action': {
'navigations': [{
'updateCard': get_update_card()
}]
}
}
}
def get_update_card():
return {
"action": {
"navigations": [{
"pushCard": {
"sections": [{
"widgets": [{
"buttonList": {
"buttons": [{
"text": "Open documentation",
"onClick": {
"openLink": {
"url": "https://developers.google.com/chat"
}
},
}]
}
}]
}]
}
}]
}
}
Apps Script
Ví dụ này gửi tin nhắn thẻ bằng cách trả về tệp JSON của thẻ. Bạn cũng có thể sử dụng dịch vụ thẻ Apps Script.
// Called from elsewhere (i.e. on button press).
function updateAppHomeCard(event) {
return {
render_actions: {
action: {
navigations: [
{
updateCard: getCard()
}
]
}
}
}
}
function getCard() {
return {
sections: [
{
widgets: [
{
buttonList: {
buttons: [
{
text: "Open documentation",
onClick: {
openLink: {
url: "https://developers.google.com/chat"
}
}
}
]
}
}
]
}
]
};
}
Các điểm hạn chế
Nhìn chung, navigation
không dành cho các ứng dụng trong Chat. Bạn không thể trả lại một ngăn xếp thẻ.
Chỉ pushCard
(để phản hồi lần đầu) và updateCard
(để cập nhật) dùng cho các ứng dụng trong Chat.
Chủ đề có liên quan
Để mở một hộp thoại, hãy sử dụng hoạt động tương tác với
OPEN_DIALOG
. Để biết thêm thông tin, hãy xem phần Mở hộp thoại để phản hồi thông báo trên thẻ màn hình chính của ứng dụng.Để đóng hộp thoại, hãy sử dụng hoạt động tương tác
CLOSE_DIALOG
để đóng hộp thoại và quay lại thông báo trên thẻ màn hình chính của ứng dụng hoặc sử dụng hoạt động tương tácCLOSE_DIALOG_EXECUTE
để đóng hộp thoại và làm mới thông báo trên thẻ màn hình chính của ứng dụng. Để biết thêm thông tin, hãy xem phần Phản hồi hộp thoại cho thông báo trên thẻ màn hình chính của ứng dụng.Để xem ví dụ về cách tạo và gửi thông báo trên thẻ màn hình chính của ứng dụng, hãy xem ứng dụng Chat quản lý vấn đề trong lớp học lập trình Tạo ứng dụng cho Google Chat bằng Gemini.