בדף הזה מוסבר איך אפליקציית Chat יכולה לפתוח תיבת דו-שיח כדי להשיב למשתמשים.
Dialogs הם ממשקים מבוססי כרטיסים בחלונות שנפתחים מהודעה או ממרחבים משותפים ב-Chat. תיבת הדו-שיח והתוכן שלה גלויים רק למשתמש שפתח אותה.
אפליקציות צ'אט יכולות להשתמש בתיבת דו-שיח כדי לבקש ולאסוף מידע ממשתמשי Chat, כולל טפסים עם כמה שלבים. פרטים נוספים על בניית רכיבי קלט של טפסים זמינים במאמר איסוף ועיבוד מידע ממשתמשים.
דרישות מוקדמות
Node.js
אפליקציית Google Chat שמופעלות בה תכונות אינטראקטיביות. כדי ליצור אפליקציית Chat אינטראקטיבית באמצעות שירות HTTP, תוכלו להיעזר במדריך למתחילים.
Python
אפליקציית Google Chat שמופעלות בה תכונות אינטראקטיביות. כדי ליצור אפליקציה אינטראקטיבית ל-Chat באמצעות שירות HTTP, תוכלו להיעזר במדריך למתחילים הזה.
Java
אפליקציית Google Chat שמופעלת בה תכונות אינטראקטיביות. כדי ליצור אפליקציה אינטראקטיבית ל-Chat באמצעות שירות HTTP, תוכלו להיעזר במדריך למתחילים הזה.
Apps Script
אפליקציית Google Chat שמופעלת בה תכונות אינטראקטיביות. כדי ליצור אפליקציה אינטראקטיבית ל-Chat ב-Apps Script, תוכלו להיעזר במדריך למתחילים.
פתיחת תיבת דו-שיח
בקטע הזה נסביר איך להשיב ולהגדיר שיחה:
- הפעלת הבקשה לתיבת דו-שיח כתוצאה מאינטראקציה של משתמש.
- לטפל בבקשה על ידי החזרת תיבת דו-שיח ופתיחתה.
- אחרי שהמשתמשים שולחים את המידע, מעבדים את ההגשה על ידי סגירת תיבת הדו-שיח או הצגת תיבת דו-שיח אחרת.
שליחת בקשה לתיבת דו-שיח
אפליקציית Chat יכולה לפתוח רק תיבות דו-שיח כדי להגיב לאינטראקציה של המשתמש, כמו פקודה באמצעות שורת קו נטוי או לחיצה על לחצן מתוך הודעה בכרטיס.
כדי להגיב למשתמשים באמצעות תיבת דו-שיח, אפליקציית Chat צריכה ליצור אינטראקציה שמפעילה את הבקשה לתיבת דו-שיח, כמו:
- תגובה לפקודה של קו נטוי. כדי להפעיל את הבקשה מפקודה של קו נטוי, צריך לסמן את התיבה Opens aDialog בזמן הגדרת הפקודה.
- תגובה ללחיצה על לחצן בהודעה, כחלק מכרטיס או בחלק התחתון של ההודעה. כדי להפעיל את הבקשה מלחצן בהודעה, מגדירים את הפעולה
onClick
של הלחצן על ידי הגדרתinteraction
שלו כ-OPEN_DIALOG
. - תגובה ללחיצה על לחצן בדף הבית של אפליקציית Chat במאמר יצירת דף בית לאפליקציית Google Chat מוסבר איך פותחים תיבות דו-שיח מדפי הבית.
בדוגמת הקוד הבאה מוסבר איך להפעיל בקשת תיבת דו-שיח באמצעות לחצן בהודעה בכרטיס. כדי לפתוח את תיבת הדו-שיח, השדה button.interaction
מוגדר ל-OPEN_DIALOG
:
Node.js
Python
Java
Apps Script
בדוגמה הזו, ההודעה על הכרטיס נשלחת על ידי החזרת card JSON. אפשר גם להשתמש בשירות הכרטיסים של Apps Script.
פתיחת תיבת הדו-שיח הראשונית
כשמשתמש מפעיל בקשה לתיבת דו-שיח, באפליקציית Chat מתקבל אירוע אינטראקציה, שמיוצג בתור סוג event
ב-Chat API. אם האינטראקציה מפעילה בקשה לתיבת דו-שיח, השדה dialogEventType
של האירוע מוגדר ל-REQUEST_DIALOG
.
כדי לפתוח תיבת דו-שיח, אפליקציית Chat יכולה להשיב לבקשה על ידי החזרת אובייקט actionResponse
עם הערך type
מוגדר ל-DIALOG
ואובייקט Message
. כדי לציין את התוכן של תיבת הדו-שיח, צריך לכלול את האובייקטים הבאים:
- אובייקט
actionResponse
, שהערך שלו ב-type
מוגדר ל-DIALOG
. - אובייקט
dialogAction
. השדהbody
מכיל את רכיבי ממשק המשתמש (UI) שיוצגו בכרטיס, כולל ווידג'טים מסוגsections
לפחות. כדי לאסוף מידע ממשתמשים, תוכלו לציין ווידג'טים של קלט טופס וווידג'ט של לחצנים. למידע נוסף על עיצוב קלט טופס, ראו איסוף ועיבוד של מידע ממשתמשים.
בדוגמת הקוד הבאה אפשר לראות איך אפליקציית Chat מחזירה תגובה שפותחת תיבת דו-שיח:
Node.js
Python
Java
Apps Script
בדוגמה הזו, ההודעה על הכרטיס נשלחת על ידי החזרת card JSON. אפשר גם להשתמש בשירות הכרטיסים של Apps Script.
טיפול בשליחת תיבת הדו-שיח
כשהמשתמשים לוחצים על לחצן ששולחים תיבת דו-שיח, אפליקציית Chat מקבלת אירוע אינטראקציה CARD_CLICKED
שבו dialogEventType
הוא SUBMIT_DIALOG
.
אפליקציית Chat צריכה לטפל באירוע האינטראקציה באמצעות אחת מהפעולות הבאות:
- להחזיר תיבת דו-שיח אחרת כדי לאכלס כרטיס או טופס אחרים.
- אחרי שמאמתים את הנתונים שהמשתמש שלח, סוגרים את תיבת הדו-שיח. אפשר גם לשלוח הודעת אישור.
אופציונלי: החזרת תיבת דו-שיח נוספת
אחרי שהמשתמשים שולחים את תיבת הדו-שיח הראשונית, אפליקציות Chat יכולות להציג תיבת דו-שיח נוספת אחת או יותר כדי לעזור למשתמשים לבדוק את המידע לפני השליחה, למלא טפסים עם כמה שלבים או לאכלס את תוכן הטפסים באופן דינמי.
כדי לעבד את הנתונים שהמשתמשים מזינים, אפליקציית Chat משתמשת באובייקט event.common.formInputs
. מידע נוסף על אחזור ערכים מווידג'טים של קלט זמין במאמר איסוף ועיבוד מידע ממשתמשים.
כדי לעקוב אחרי הנתונים שהמשתמשים מזינים בתיבת הדו-שיח הראשונית, צריך להוסיף פרמטרים ללחצן שפותח את תיבת הדו-שיח הבאה. מידע נוסף מופיע במאמר העברת נתונים לכרטיס אחר.
בדוגמה הזו, באפליקציית Chat נפתחת תיבת דו-שיח ראשונית שמובילה לתיבת דו-שיח נוספת לאישור לפני השליחה:
Node.js
Python
Java
Apps Script
בדוגמה הזו נשלחת הודעה בכרטיס על ידי החזרת כרטיס JSON של הכרטיס. אפשר גם להשתמש בשירות הכרטיסים של Apps Script.
סגור את תיבת הדו-שיח
כשמשתמשים לוחצים על לחצן בתיבת דו-שיח, אפליקציית Chat מבצעת את הפעולה שמשויכת לה ומספקת לאובייקט האירוע את המידע הבא:
eventType
הואCARD_CLICKED
.dialogEventType
הואSUBMIT_DIALOG
.
אפליקציית Chat צריכה להחזיר אובייקט ActionResponse
שבו type
מוגדר ל-DIALOG
ול-dialogAction
.
אם רוצים, אפשר להציג התראה
כשסוגרים את תיבת הדו-שיח, אפשר גם להציג התראה בטקסט.
אפליקציית Chat יכולה להחזיר הודעת שגיאה או הצלחה על ידי החזרת ActionResponse
כשהערך של actionStatus
מוגדר.
בדוגמה הבאה אנחנו בודקים שהפרמטרים תקינים וסוגרים את תיבת הדו-שיח עם ההתראה בטקסט, בהתאם לתוצאה:
Node.js
Python
Java
Apps Script
בדוגמה הזו, ההודעה על הכרטיס נשלחת על ידי החזרת card JSON. אפשר גם להשתמש בשירות הכרטיסים של Apps Script.
מידע נוסף על העברת פרמטרים בין תיבות דו-שיח מופיע במאמר העברת נתונים לכרטיס אחר.
אופציונלי: שליחת הודעת אישור
כשסוגרים את תיבת הדו-שיח, אפשר גם לשלוח הודעה חדשה או לעדכן הודעה קיימת.
כדי לשלוח הודעה חדשה, מחזירים אובייקט ActionResponse
עם הערך type
מוגדר ל-NEW_MESSAGE
. הדוגמה הבאה סוגרת את תיבת הדו-שיח עם התראת טקסט והודעת טקסט לאישור:
Node.js
Python
Java
Apps Script
בדוגמה הזו, ההודעה על הכרטיס נשלחת על ידי החזרת card JSON. אפשר גם להשתמש בשירות הכרטיסים של Apps Script.
כדי לעדכן הודעה, מחזירים אובייקט actionResponse
שמכיל את ההודעה המעודכנת ומגדירים את type
לאחת מהאפשרויות הבאות:
UPDATE_MESSAGE
: עדכון ההודעה שהפעילה את הבקשה לתיבת הדו-שיח.UPDATE_USER_MESSAGE_CARDS
: מעדכן את הכרטיס מתצוגה מקדימה של קישור.
פתרון בעיות
כשכרטיס או אפליקציית Google Chat מחזירים שגיאה, בממשק Chat מופיעה ההודעה "משהו השתבש". או "לא ניתן לעבד את הבקשה שלך". בחלק מהמקרים לא מוצגות הודעות שגיאה בממשק המשתמש של Chat, אבל האפליקציה או הכרטיס של Chat יוצרים תוצאה לא צפויה. למשל, יכול להיות שלא תופיע הודעת כרטיס.
יכול להיות שלא תופיע הודעת שגיאה בממשק המשתמש של Chat, אבל תוכלו להיעזר בהודעות שגיאה תיאוריות ובנתוני היומן שיעזרו לכם לתקן שגיאות כשמופעלת רישום ביומן של שגיאות באפליקציות ל-Chat. למידע נוסף על הצגה, ניפוי באגים ותיקון שגיאות, תוכלו להיעזר במאמר פתרון בעיות ב-Google Chat.
נושאים קשורים
- לעיון בדוגמה של מנהל אנשי הקשר, אפליקציית Chat שמשתמשת בתיבת דו-שיח כדי לאסוף פרטים ליצירת קשר.
- לפתוח תיבות דו-שיח מדף הבית של אפליקציית Google Chat.
- הגדרה של פקודות של שורת הפקודה ותגובה להן
- פרטי עיבוד שהוזנו על ידי משתמשים