בדף הזה מוסבר איך יוצרים ושולחים הודעה לדף הבית של האפליקציה באפליקציית Chat. דף הבית של האפליקציה הוא הודעת כרטיס בהתאמה אישית שאפליקציית Chat שולחת למשתמש כשהוא פותח צ'אט אישי באמצעות אפליקציית Chat.
לדוגמה, תוכלו להגדיר את ההודעה בכרטיס הבית של האפליקציה כך שתכלול טיפים לאינטראקציה עם אפליקציית Chat באמצעות פקודות לוכסן. למשתמשי הקצה, דף הבית של האפליקציה זמין רק בצ'אט אישי באפליקציית Chat, אם מפתח האפליקציה הפעיל את התכונה.
אפשר להשתמש בכלי ליצירת כרטיסים כדי לעצב הודעות של כרטיס JSON ולצפות בתצוגה מקדימה שלהן באפליקציות ל-Chat:
לפתיחת הכלי ליצירת כרטיסיםדרישות מוקדמות
Python
- חשבון Google Workspace עם גישה ל-Google Chat.
- אפליקציה שפורסמה ב-Chat. כדי ליצור אפליקציה ל-Chat, תוכלו לעיין בquickstart.
- אפליקציית Google Chat שהוגדרה לאינטראקטיביות. למידע נוסף תוכלו לקרוא את המאמר איך מגדירים שאפליקציית Google Chat תקבל אירועי אינטראקציה.
Apps Script
- חשבון Google Workspace עם גישה ל-Google Chat.
- אפליקציה שפורסמה ב-Chat. כדי ליצור אפליקציה ל-Chat, תוכלו להיעזר בquickstart.
- אפליקציית Google Chat שהוגדרה לאינטראקטיביות. למידע נוסף תוכלו לקרוא את המאמר איך מגדירים שאפליקציית Google Chat תקבל אירועי אינטראקציה.
הגדר במסוף Google Cloud
Python
במסוף Google Cloud, נכנסים לתפריט > מוצרים נוספים > Google Workspace > ספריית מוצרים > Google Chat API.
לוחצים על ניהול ואז על הכרטיסייה הגדרות אישיות.
מפעילים את Support App Home.
מסמנים את התיבה Support App Home (דף הבית של אפליקציית התמיכה).
בשדה כתובת ה-URL של דף הבית של האפליקציה, מוסיפים כתובת URL. הערך הזה בדרך כלל זהה לכתובת ה-URL כמו בכתובת ה-URL של האפליקציה. כתובת ה-URL הזו נקראת עבור
APP_HOME
אירועים.לוחצים על שמירה.
Apps Script
במסוף Google Cloud, נכנסים לתפריט > מוצרים נוספים > Google Workspace > ספריית מוצרים > Google Chat API.
לוחצים על ניהול ואז על הכרטיסייה הגדרות אישיות.
מסמנים את התיבה Support App Home (דף הבית של אפליקציית התמיכה).
לוחצים על שמירה.
הגדרה של אפליקציית Chat
צריך להגדיר את אפליקציית Chat כך שתשלח הודעת כרטיס חדשה לדף הבית של האפליקציה.
Python
כשמשתמש פותח צ'אט אישי מאפליקציית Chat, נשלח אירוע APP_HOME
לאפליקציית Chat. כשאפליקציית Chat מקבלת את האירוע הזה, מוחזר מופע JSON של RenderActions
עם ניווט 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
בדוגמה הזו נשלחת הודעת כרטיס על ידי החזרת card JSON. אפשר גם להשתמש בשירות של כרטיסי Apps Script.
מטמיעים את הפונקציה onAppHome
כדי להחזיר מופע JSON של RenderActions
עם ניווט 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"
}
}
}
]
}
}
]
}
]
};
}
עדכון הודעה בכרטיס דף הבית של האפליקציה
ניתן לעדכן את ההודעה בכרטיס הבית של האפליקציה כשמשתמש שולח מידע בהודעת כרטיס או סוגר תיבת דו-שיח. לדוגמה, ההודעה הראשונית בכרטיס הבית של האפליקציה היא הודעת פתיחה שמבקשת מהמשתמש למלא מידע בטופס. אחרי שהמשתמש ימלא את הטופס, תישלח הודעה מעודכנת לדף הבית של האפליקציה. צריך להחזיר את העדכון עם מופע של RenderActions
שמכיל ניווט updateCard
.
Python
באפליקציות HTTP, עדכון ההודעה בכרטיס הבית של האפליקציה דומה לפרטי התהליך שהוזנו על ידי המשתמשים, אבל צריך להחזיר RenderActions
. invokedFunction
מייצג את השם של הפונקציה שמופעלת שמשויכת לווידג'ט Card
. למידע נוסף: CommonEventObject
.
בדוגמה הבאה, submitForm
מראה שהמשתמש שלח נתוני טופס:
@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
בדוגמה הזו נשלחת הודעת כרטיס על ידי החזרת card JSON. אפשר גם להשתמש בשירות של כרטיסי 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"
}
}
}
]
}
}
]
}
]
};
}
הגבלות
באופן כללי, אי אפשר להשתמש ב-navigation
באפליקציות ל-Chat. אי אפשר להחזיר ערימת קלפים.
רק pushCard
(למענה ראשוני) ו-updateCard
(לעדכונים) זמינים באפליקציות ל-Chat.
נושאים קשורים
כדי לפתוח תיבת דו-שיח, משתמשים באינטראקציה
OPEN_DIALOG
. למידע נוסף, קראו את המאמר פתיחת תיבת דו-שיח בתגובה להודעה בכרטיס דף הבית של האפליקציה.כדי לסגור תיבת דו-שיח, משתמשים באינטראקציה
CLOSE_DIALOG
כדי לסגור את תיבת הדו-שיח ולחזור להודעה בכרטיס הבית של האפליקציה, או להשתמש באינטראקציהCLOSE_DIALOG_EXECUTE
כדי לסגור את תיבת הדו-שיח ולרענן את ההודעה בכרטיס הבית של האפליקציה. מידע נוסף זמין במאמר איך עונים לתיבת דו-שיח עם הודעות בכרטיס הבית של האפליקציה.דוגמה ליצירה ושליחה של הודעה בדף הבית של האפליקציה מופיעה במאמר פיתוח אפליקציות ל-Google Chat באמצעות Gemini בנושא ניהול הבעיות באפליקציית Chat ב-Codelab.