בדף הזה מפורטת סקירה כללית על פיתוח ממשקי משתמש (UI) לתוספים של Google Workspace שמרחיבים את Google Chat.
בתוספים ב-Google Chat, המשתמשים רואים אותם כאפליקציות של Google Chat. מידע נוסף זמין בקטע סקירה כללית על הרחבת Google Chat.
כדי ליצור ממשקים לאפליקציות Chat, משתמשים ברכיבי התוספים הבאים:
- טריגרים: הדרכים שבהן משתמשי Google Chat יכולים להפעיל אפליקציה ל-Chat, למשל הוספה שלה למרחב משותף או שליחת הודעה אליה.
- אובייקטים של אירועים: הנתונים שאפליקציות Chat מקבלות מטריגרים או מאינטראקציות בממשק המשתמש.
- פעולות: הדרכים שבהן אפליקציות צ'אט יכולות להגיב לאינטראקציות, כמו שליחת הודעות או הצגת ממשק משתמש שמבוסס על כרטיסים.
אפליקציות צ'אט יכולות ליצור ולהציג כרטיסים בממשקים הבאים:
- הודעות שיכולות להכיל טקסט, כרטיסים סטטיים או אינטראקטיביים ולחצנים.
- תיבות דו-שיח, שהן כרטיסים שנפתחים בחלון חדש ובדרך כלל מבקשים מהמשתמשים לשלוח מידע.
- תצוגות מקדימות של קישורים – כרטיסים שמציגים תצוגה מקדימה של מידע על שירות חיצוני.
טריגרים
בקטע הזה מוסבר על הטריגרים שבהם משתמשים התוספים של Google Workspace ב-Chat.
טריגרים הם הדרכים הספציפיות שבהן משתמשים מפעילים את אפליקציית Chat באמצעות ממשק המשתמש של Chat, למשל באמצעות אזכורים או פקודות באפליקציה.
בטבלה הבאה מוצגים טריגרים של Chat, תיאור שלהם והאופן שבו אפליקציות Chat בדרך כלל מגיבים:
טריגר | תיאור | תגובה אופיינית |
---|---|---|
נוסף למרחב המשותף |
משתמש מוסיף את אפליקציית Chat למרחב משותף, או שאדמין ב-Google Workspace מתקין את אפליקציית Chat במרחבים משותפים של הודעות אישיות למשתמשים בארגון שלו. למידע על אפליקציות Chat שמותקנות על ידי האדמינים, אפשר לעיין במאמר התקנה של אפליקציות מ-Marketplace בדומיין במסמכי העזרה של Google Workspace לאדמינים. |
באפליקציית Chat תישלח הודעה עם הסבר על התכונה ועל האופן שבו המשתמשים במרחב המשותף יכולים להשתמש בה. |
Message |
משתמש יוצר אינטראקציה עם אפליקציית Chat בהודעה באחת מהדרכים הבאות:
|
התשובה של אפליקציית Chat תהיה מבוססת על תוכן ההודעה. לדוגמה, אפליקציית Chat תגיב לפקודה /about בהודעה שמסבירה את המשימות שאפליקציית Chat יכולה לבצע.
|
הוסרה מהמרחב המשותף |
משתמש מסיר את אפליקציית Chat ממרחבים משותפים, או שאדמין ב-Google Workspace מסיר את אפליקציית Chat ממשתמש בארגון. משתמשים לא יכולים להסיר אפליקציות של Chat שהותקנו על ידי האדמין שלהם. אם משתמש כבר התקין את אפליקציית Chat, היא תישאר מותקנת גם אם אדמין ב-Google Workspace ינסה להסיר אותה. |
באפליקציית Chat יוסרו כל ההתראות הנכנסות שהוגדרו למרחב המשותף (למשל, מחיקת webhook) והאחסון הפנימי יימחק. אפליקציות צ'אט לא יכולות להשיב להפעלה הזו באמצעות הודעות, כי הן כבר לא חברות במרחב המשותף. |
פקודה לאפליקציה |
משתמש משתמש בפקודה מהירה או בפקודה עם קו נטוי מאפליקציית Chat. |
אפליקציית Chat מגיבה לפקודה. לדוגמה, עונה בהודעה או פותח תיבת דו-שיח. |
בניגוד לתוספים אחרים של Google Workspace, צריך להגדיר פונקציות חזרה (callbacks) לטריגרים האלה באמצעות Google Chat API. להנחיות, קראו את המאמר הגדרת אפליקציית Google Chat.
במדריכים הבאים מוסבר איך להגיב לטריגר:
- שליחת הודעות ב-Google Chat
- פתיחת תיבת דו-שיח אינטראקטיבית
- תצוגה מקדימה של קישורים בהודעות ב-Google Chat
אובייקטים של אירועים
בקטע הזה מוסבר מהם כל הרכיבים של אובייקטים של אירועים ב-Chat. מידע נוסף זמין במאמר אובייקטים של אירועים.
אובייקט אירוע | |
---|---|
commonEventObject |
object
(CommonEventObject)
אובייקט שמכיל מידע שכל אובייקטי האירועים מכילים, ללא קשר לאפליקציית המארח. |
chat |
object
(Chat)
אובייקט שמכיל את כל המידע על אינטראקציות ב-Chat. |
צ'אט
צ'אט | |
---|---|
chat.user |
object
(User)
משתמש Chat שהייתה לו אינטראקציה עם אפליקציית Chat. |
chat.space |
object
(Space)
מרחב משותף ב-Chat שבו משתמש קיים אינטראקציה עם אפליקציית Chat. |
chat.eventTime |
|
שדה האיחוד הערך של |
|
chat.messagePayload |
עומס העבודה שאפליקציות Chat מקבלות מטריגר Message. |
chat.addedToSpacePayload |
נתוני העומס שכל אפליקציית Chat מקבלת מהטריגר נוסף למרחב המשותף. |
chat.removedFromSpacePayload |
נתוני העומס שכל אפליקציית Chat מקבלת מטריגר הוסרה מהמרחב המשותף. |
chat.buttonClickedPayload |
נתוני העומס שמוצגים באפליקציות צ'אט כשמשתמשים לוחצים על לחצן בהודעה או בכרטיס. אם משתמש לוחץ על לחצן לשליחת מידע, האובייקט |
chat.widgetUpdatedPayload |
נתוני העומס שאותם מקבלות אפליקציות Chat כשמשתמשים מקלידים טקסט בתפריט הבחירה בכמה פריטים של ווידג'ט
האובייקט |
chat.appCommandPayload |
עומס העבודה שאפליקציות Chat מקבלות כשמשתמש משתמש בפקודה מאפליקציית Chat. |
מטען ייעודי (payload)
בהתאם לסוג האינטראקציה, האירוע מכיל עומס שימושי עם משאב אחד או יותר של Chat API.
מטען ייעודי (payload) של הודעה
MessagePayload | |
---|---|
chat.messagePayload.message |
object
(Message)
הודעה ב-Chat שהפעילה את האירוע. |
chat.messagePayload.space |
object
(Space)
המרחבים ב-Chat שבהם משתמש שלח את ההודעה שהפעילה את אפליקציית Chat. |
נוסף לעומס המטען בחלל
AddedToSpacePayload | |
---|---|
chat.addedToSpacePayload.space |
object
(Space)
מרחב Chat שאליו המשתמש הוסיף או התקין את אפליקציית Chat. כשאדמינים מתקינים אפליקציות ל-Chat, השדה |
chat.addedToSpacePayload.interactionAdd |
boolean האם משתמש הוסיף את אפליקציית Chat למרחב המשותף באמצעות הודעה. לדוגמה, להשתמש בסימן @ כדי להזכיר את אפליקציית Chat או להשתמש בפקודה עם קו נטוי. אם true , מערכת Chat שולחת אובייקט אירוע נוסף עם messagePayload שמכיל מידע על ההודעה.
|
הוסר ממטען החלל
RemovedFromSpacePayload | |
---|---|
chat.removedFromSpacePayload.space |
object
(Space)
מרחב Chat שממנו המשתמש הסיר או ה uninstall את אפליקציית Chat. כשאדמינים מסירים אפליקציות של Chat, השדה |
עומס העבודה של הלחצן שנלחץ
ButtonClickedPayload | |
---|---|
chat.buttonClickedPayload.message |
object
(Message)
הודעת הצ'אט שמכילה את הלחצן שעליו המשתמש לחץ. |
chat.buttonClickedPayload.space |
object
(Space)
מרחב העבודה ב-Chat שבו המשתמש לחץ על לחצן בהודעה באפליקציית Chat. |
chat.buttonClickedPayload.isDialogEvent |
boolean האם המשתמש לחץ על הלחצן כדי ליצור אינטראקציה עם תיבת דו-שיח. |
chat.buttonClickedPayload.dialogEventType |
enum (DialogEventType) אם הערך של isDialogEvent הוא true , סוג
האינטראקציה בתיבת דו-שיח.
|
טיפוס enum הערך של |
|
TYPE_UNSPECIFIED |
ערך ברירת המחדל. לא צוין. |
REQUEST_DIALOG |
משתמש מבקש תיבת דו-שיח. לדוגמה, הם משתמשים בפקודה עם קו נטוי או לוחצים על לחצן בהודעה. |
SUBMIT_DIALOG |
משתמש לוחץ על רכיב אינטראקטיבי בתיבת דו-שיח. לדוגמה, משתמש ממלא פרטים בתיבת דו-שיח ולוחץ על לחצן כדי לשלוח את הפרטים. |
מטען נתונים מעודכן של הווידג'ט
WidgetUpdatedPayload | |
---|---|
chat.widgetUpdatedPayload.space |
object
(Space)
המרחבים ב-Chat שבהם התרחשה האינטראקציה. |
המטען של פקודת האפליקציה
AppCommandPayload | |
---|---|
chat.appCommandPayload.appCommandMetadata |
object
(AppCommandMetadata)
מטא-נתונים על הפקודה שבה המשתמש השתמש ועל האופן שבו הוא הפעיל אותה. |
chat.appCommandPayload.space |
object
(Space)
מרחב העבודה ב-Chat שבו משתמש השתמש בפקודה. |
chat.appCommandPayload.thread |
object
(Thread)
אם האינטראקציה התרחשה בשרשור, שרשור הצ'אט שבו המשתמש השתמש בפקודה. |
chat.appCommandPayload.message |
object
(Message)
ההודעה שהמשתמש שלח עם פקודת הפסיק. |
chat.appCommandPayload.configCompleteRedirectUri |
string אם נדרשת הרשאה או הגדרה לפקודה, כתובת URL להפניה אוטומטית של המשתמש אליה אחרי שהוא משלים את התהליך מחוץ ל-Google Chat. |
chat.appCommandPayload.isDialogEvent |
boolean האפשרות לפתוח תיבת דו-שיח באמצעות הפקודה. |
chat.appCommandPayload.dialogEventType |
enum (DialogEventType) סוג האינטראקציה עם תיבת דו-שיח. |
טיפוס enum הערך של |
|
TYPE_UNSPECIFIED |
ערך ברירת המחדל. לא צוין. |
REQUEST_DIALOG |
משתמש מבקש תיבת דו-שיח. לדוגמה, הם משתמשים בפקודה עם קו נטוי או לוחצים על לחצן בהודעה. |
SUBMIT_DIALOG |
משתמש לוחץ על רכיב אינטראקטיבי בתיבת דו-שיח. לדוגמה, משתמש ממלא פרטים בתיבת דו-שיח ולוחץ על לחצן כדי לשלוח את הפרטים. |
מטא-נתונים של פקודות באפליקציה
AppCommandMetadata | |
---|---|
chat.appCommandPayload.appCommandMetadata.appCommandId |
מזהה הפקודה. |
chat.appCommandPayload.appCommandMetadata.appCommandType |
enum (AppCommandType) סוג הפקודה. |
טיפוס enum הערך של |
|
APP_COMMAND_TYPE_UNSPECIFIED |
ערך ברירת המחדל. לא צוין. |
SLASH_COMMAND |
כדי להשתמש בפקודה, משתמשים שולחים הודעה שמתחילה בקו נטוי / . |
פעולות בצ'אט
בקטע הזה נסביר איך אפליקציות צ'אט יכולות להשתמש בפעולות של תוספים כדי להגיב לאינטראקציות של משתמשים.
כדי להגיב באמצעות פעולה של תוסף, אפליקציית צ'אט צריכה להשיב תוך 30 שניות, והתשובה צריכה להתפרסם במרחב המשותף שבו התרחשה האינטראקציה. אחרת, אפליקציית Chat צריכה להגדיר אימות ולהפעיל את Google Chat API כדי להגיב.
אפליקציות צ'אט יכולות לטפל באינטראקציות ולהגיב להן בדרכים רבות. במקרים רבים, אפליקציות Chat עונות להודעות. אפליקציות צ'אט יכולות גם לחפש מידע מסוים ממקור נתונים, לתעד את פרטי אובייקט האירוע או לעשות כמעט כל דבר אחר. התנהגות העיבוד הזו היא בעצם מה שמגדיר את אפליקציית Google Chat.
כדי להגיב לאינטראקציות של משתמשים, אפליקציות צ'אט צריכות לטפל באובייקט האירוע התואם ולהחזיר אחד מאובייקטי ה-JSON הבאים:
DataActions
: יצירת נתונים או עדכון שלהם ב-Google Workspace. כדי לשלוח או לעדכן הודעות ב-Chat, האובייקט צריך להכיל את הרכיב המסומן שמגדיר את השינויים בנתונים שלMessage
, שמוצגים בתורchatDataActionMarkup
.RenderActions
: הצגה או ניווט בין כרטיסים בהודעות ובתיבות דו-שיח.basic_authorization_prompt
: המערכת מבקשת מהמשתמשים להשתמש בכרטיס הרשאה כדי להיכנס לחשבון או לבצע אימות בשירות שאינו של Google. פרטים נוספים זמינים במאמר חיבור התוסף ל-Google Workspace לשירות של צד שלישי.
התשובה הרצויה באפליקציית Chat | הפעולה הנדרשת להחזרה |
---|---|
שליחת הודעה או עדכון שלה | DataActions |
פתיחה, עדכון או סגירה של תיבת דו-שיח. | RenderActions |
כדי לאסוף מידע מכרטיס או מתיבת דו-שיח, אפשר להציע פריטים לבחירה על סמך מה שהמשתמשים מקלידים בתפריט עם אפשרויות בחירה מרובות. | RenderActions |
לצפות בתצוגה מקדימה של קישורים בהודעות שמשתמשי Chat שולחים במרחב משותף. | DataActions |
שליחת תגובה באמצעות Google Chat API
במקום להחזיר פעולת תוסף, יכול להיות שאפליקציות Chat יצטרכו להשתמש ב-Google Chat API כדי להגיב לאינטראקציה. לדוגמה, אפליקציות Chat צריכות לבצע קריאה ל-Google Chat API כדי לבצע את הפעולות הבאות:
- להגיב לאינטראקציה אחרי 30 שניות.
- לבצע משימות מחוץ למרחב המשותף שבו התרחשה האינטראקציה.
- לבצע משימות ב-Chat שלא זמינות כפעולות של תוספים. לדוגמה, להציג רשימה של המרחבים המשותפים שבהם משתמש או אפליקציית Chat משתתפים, או להוסיף משתמשים למרחב משותף.
- לבצע משימות בשם משתמש ב-Chat (נדרש אימות משתמש).
למידע נוסף על אימות של Chat API והפעלה שלו, ראו סקירה כללית על Chat API.