כדי למנוע מצב שבו המשתמשים משתפים קישור ב-Google Chat, אפליקציית Chat יכולה להציג תצוגה מקדימה של הקישור. לשם כך, אפשר לצרף להודעה שלהם כרטיס שמספק מידע נוסף ומאפשר לאנשים לבצע פעולות ישירות מ-Google Chat.
לדוגמה, נניח שיש מרחב ב-Google Chat שכולל את כל סוכני שירות הלקוחות של חברה, וגם אפליקציית Chat בשם 'Case-y'. הרבה פעמים נציגים משתפים במרחבים ב-Chat קישורים לבקשות תמיכה של שירות לקוחות, ובכל פעם שהקולגות שלהם צריכים לפתוח את הקישור לפנייה כדי לראות פרטים כמו מקבל ההקצאה, הסטטוס והנושא. בדומה לכך, אם מישהו רוצה לקבל בעלות על בקשת תמיכה או לשנות את הסטטוס שלו, הוא צריך לפתוח את הקישור.
התצוגה המקדימה של הקישור מאפשרת לאפליקציית Chat, שגרת במרחב המשותף, קאסיי, לצרף כרטיס שבו מוצג מקבל ההקצאה, הסטטוס והנושא בכל פעם שמישהו משתף קישור לפנייה. הלחצנים בכרטיס מאפשרים לנציגים לקבל בעלות על הפנייה ולשנות את הסטטוס ישירות מהצ'אט.
איך פועלת התצוגה המקדימה של הקישורים
כשמישהו יוסיף קישור להודעה שלו, יופיע צ'יפ שיודיע לו שאפליקציית Chat עשויה להציג את הקישור בתצוגה מקדימה.
אחרי שליחת ההודעה, הקישור נשלח לאפליקציית Chat, ואז יוצר ומצרף את הכרטיס להודעה של המשתמש.
לצד הקישור, הכרטיס מספק מידע נוסף על הקישור, כולל רכיבים אינטראקטיביים כמו לחצנים. אפליקציית Chat יכולה לעדכן את הכרטיס המצורף בתגובה לאינטראקציות של משתמשים, כמו קליקים על לחצנים.
אם מישהו לא רוצה שאפליקציית Chat תוכל להציג את הקישור שלו בתצוגה מקדימה על ידי צירוף כרטיס להודעה, הוא יכול ללחוץ על
בצ'יפ של התצוגה המקדימה כדי למנוע את הצגת התצוגה המקדימה. המשתמשים יכולים להסיר את הכרטיס המצורף בכל שלב בלחיצה על הסרת התצוגה המקדימה.דרישות מוקדמות
Node.js
אפליקציית Google Chat שמופעלת בה תכונות אינטראקטיביות. כדי ליצור להשתמש בשירות HTTP באפליקציית Chat האינטראקטיבית. במדריך למתחילים מוסבר איך עושים את זה.
Apps Script
אפליקציית Google Chat שמופעלת בה תכונות אינטראקטיביות. כדי ליצור כדי להשתמש באפליקציית Chat האינטראקטיבית ב-Apps Script, צריך להשלים את המדריך למתחילים.
הגדרת התצוגה המקדימה לקישורים
כדאי לרשום קישורים ספציפיים כמו example.com
, support.example.com
ו-support.example.com/cases/
– כתבניות URL בדף ההגדרות של אפליקציית Chat במסוף Google Cloud, כדי שאפליקציית Chat תוכל להציג אותם בתצוגה מקדימה.
- פותחים את מסוף Google Cloud.
- לצד Google Cloud, לוחצים על החץ למטה ופותחים את הפרויקט באפליקציית Chat.
- בשדה החיפוש, מקלידים
Google Chat API
ולוחצים על Google Chat API. - לוחצים על ניהול > הגדרה.
- בקטע 'תצוגות מקדימות של קישורים', מוסיפים או עורכים תבנית של כתובת URL.
- כדי להגדיר תצוגות מקדימות של קישורים לתבנית URL חדשה, לוחצים על הוספת דפוס של כתובת URL.
- כדי לערוך את ההגדרה של דפוס כתובת URL קיים, לוחצים על החץ למטה .
בשדה דפוס מארח, מזינים את הדומיין של תבנית ה-URL. אפליקציית Chat תציג תצוגה מקדימה של הקישורים לדומיין הזה.
כדי לראות תצוגה מקדימה של קישורים לאפליקציית Chat בתת-דומיין ספציפי, כמו
subdomain.example.com
, צריך לכלול את תת-הדומיין.כדי להציג את הקישורים לתצוגה המקדימה של אפליקציית Chat לכל הדומיין, צריך לציין תו כללי לחיפוש עם כוכבית (*) כתת-הדומיין. לדוגמה,
*.example.com
תואם ל-subdomain.example.com
ול-any.number.of.subdomains.example.com
.בשדה תחילית נתיב, מזינים נתיב לצירוף לדומיין של דפוס המארח.
כדי להתאים לכל כתובות ה-URL בדומיין של דפוס המארח, משאירים את השדה Path prefix (קידומת נתיב).
לדוגמה, אם דפוס המארח הוא
support.example.com
, כדי להתאים כתובות URL לבקשות תמיכה שמתארחות ב-support.example.com/cases/
, צריך להזיןcases/
.לוחצים על סיום.
לוחצים על שמירה.
מעכשיו, בכל פעם שמישהו יכלול קישור שתואם לתבנית כתובת ה-URL של התצוגה המקדימה של הקישור להודעה במרחב ב-Chat שכולל את אפליקציית Chat, הקישור יוצג בתצוגה מקדימה באפליקציה.
תצוגה מקדימה של קישור
אחרי שמגדירים תצוגה מקדימה של קישור מסוים, אפליקציית Chat יכולה לזהות את הקישור ולהציג אותו בתצוגה מקדימה באמצעות בצירוף מידע נוסף אליו.
במרחבים ב-Chat שכוללים את
אפליקציית Chat, כשהודעה של מישהו מכילה קישור
תואם לתבנית URL של תצוגה מקדימה של קישור, אפליקציית Chat
מקבל
אירוע אינטראקציה אחד (MESSAGE
). קובץ ה-JSON
המטען הייעודי (Payload) לאירוע האינטראקציה מכיל את השדה matchedUrl
:
JSON
"message": {
. . . // other message attributes redacted
"matchedUrl": {
"url": "https://support.example.com/cases/case123"
},
. . . // other message attributes redacted
}
על ידי בדיקת נוכחות השדה matchedUrl
באירוע MESSAGE
המטען הייעודי (Payload), אפליקציית Chat יכולה להוסיף מידע
עם הקישור בתצוגה המקדימה. אפליקציית Chat יכולה
או להשיב באמצעות הודעת טקסט פשוטה או לצרף כרטיס.
תשובה באמצעות הודעת טקסט
אפליקציית Chat יכולה לראות תצוגה מקדימה של הקישור בתשובות פשוטות באמצעות הודעת טקסט פשוטה, לקישור. בדוגמה הזו מצורפת הודעה שחוזרת על כתובת האתר של הקישור תואם לדפוס כתובת אתר של תצוגה מקדימה של קישור.
Node.js
Apps Script
צירוף כרטיס
כדי לצרף כרטיס לקישור שמוצג בתצוגה מקדימה:
להחזיר
ActionResponse
מסוג UPDATE_USER_MESSAGE_CARDS
. בדוגמה הזו מצורפת כרטיס פשוט.
Node.js
Apps Script
בדוגמה הזו, נשלחת הודעה בכרטיס על ידי חזרה כרטיס JSON. אפשר גם להשתמש שירות הכרטיסים של Apps Script.
עדכון כרטיס
כדי לעדכן את הכרטיס המצורף לקישור שמוצג בתצוגה מקדימה, צריך להחזיר
ActionResponse
מסוג UPDATE_USER_MESSAGE_CARDS
. אפשר לעדכן אפליקציות של Chat בלבד
כרטיסים שמציגים תצוגה מקדימה של קישורים בתגובה
אירוע אינטראקציה של אפליקציית Chat.
אפליקציות ל-Chat לא יכולות לעדכן את הכרטיסים האלה באמצעות קריאה ל-Chat API
באופן אסינכרוני.
אי אפשר להציג תצוגה מקדימה של קישור באמצעות החזרת ActionResponse
מסוג UPDATE_MESSAGE
. UPDATE_MESSAGE
מעדכנת את כל ההודעה ולא רק את הכרטיס, אבל היא פועלת רק אם ההודעה המקורית נוצרה באפליקציית Chat. בתצוגה מקדימה של קישור מצורפת כרטיס להודעה שנוצרה על ידי משתמש, כך שלאפליקציית Chat אין הרשאה לעדכן אותו.
כדי להבטיח שפונקציה תעדכן גם כרטיסים שנוצרו על ידי משתמשים וגם את הכרטיסים שנוצרו על ידי אפליקציה בזרם של Chat, צריך להגדיר באופן דינמי את ActionResponse
לפי השאלה אם אפליקציית Chat או המשתמש יצרו את ההודעה.
- אם משתמש יצר את ההודעה, מגדירים את הערך
ActionResponse
לערךUPDATE_USER_MESSAGE_CARDS
. - אם ההודעה נוצרה באפליקציית Chat, צריך להגדיר את הערך
ActionResponse
לערךUPDATE_MESSAGE
.
יש שתי דרכים לעשות זאת: לציין ולבדוק אם יש actionMethodName
בהתאמה אישית כחלק מהמאפיין onclick
של הכרטיס המצורף (שמזהה את ההודעה כהודעה שנוצרה על ידי משתמש) או לבדוק אם ההודעה נוצרה על ידי משתמש.
אפשרות 1: מחפשים את actionMethodName
כדי להשתמש ב-actionMethodName
כדי לטפל בצורה תקינה באירועי אינטראקציה של CARD_CLICKED
בכרטיסים שמוצגים בתצוגה מקדימה, צריך להגדיר actionMethodName
בהתאמה אישית כחלק מהמאפיין onclick
של הכרטיס המצורף:
JSON
. . . // Preview card details
{
"textButton": {
"text": "ASSIGN TO ME",
"onClick": {
// actionMethodName identifies the button to help determine the
// appropriate ActionResponse.
"action": {
"actionMethodName": "assign",
}
}
}
}
. . . // Preview card details
אם "actionMethodName": "assign"
מזהה את הלחצן כחלק מתצוגה מקדימה של קישור, אפשר להחזיר באופן דינמי את ActionResponse
הנכון על ידי חיפוש actionMethodName
תואם:
Node.js
Apps Script
בדוגמה הזו, נשלחת הודעה בכרטיס על ידי חזרה כרטיס JSON. אפשר גם להשתמש שירות הכרטיסים של Apps Script.
אפשרות 2: בודקים את סוג השולח
צריך לבדוק אם message.sender.type
הוא HUMAN
או BOT
. אם הערך הוא HUMAN
, צריך להגדיר את ActionResponse
לערך UPDATE_USER_MESSAGE_CARDS
. אחרת, צריך להגדיר את ActionResponse
לערך UPDATE_MESSAGE
. לשם כך:
Node.js
Apps Script
בדוגמה הזו, נשלחת הודעה בכרטיס על ידי חזרה כרטיס JSON. אפשר גם להשתמש שירות הכרטיסים של Apps Script.
סיבה טיפוסית לעדכון כרטיס היא קליק על לחצן. לזכור את הלחצן הקצאה לי מהקטע הקודם, צירוף כרטיס. בדוגמה המלאה הבאה מתבצע עדכון של הכרטיס כך שיהיה כתוב שהוא משויך אל 'את/ה' אחרי שמשתמש לוחץ על הקצאה לי. בדוגמה הזו מגדירים באופן דינמי את ActionResponse
על ידי בדיקת סוג השולח.
לדוגמה: (case-y), אפליקציית Chat של שירות הלקוחות.
הנה הקוד המלא של Case-y, אפליקציית Chat שמציגה תצוגה מקדימה של קישורים לבקשות תמיכה ששותפו במרחב ב-Chat שבו נציגי שירות לקוחות עובדים.
Node.js
Apps Script
בדוגמה הזו, נשלחת הודעה בכרטיס על ידי חזרה כרטיס JSON. אפשר גם להשתמש שירות הכרטיסים של Apps Script.
מגבלות ושיקולים
בזמן שמגדירים תצוגות מקדימות לקישורים באפליקציית Chat, כדאי לשים לב למגבלות ולשיקולים הבאים:
- בכל אפליקציית Chat אפשר לראות עד 5 תבניות של כתובות URL בתצוגה מקדימה.
- תצוגה מקדימה של קישור אחד לכל הודעה מאפליקציות צ'אט. אם בהודעה אחת יש כמה קישורים שאפשר להציג בתצוגה מקדימה, רק את הקישור הראשון אפשר לראות בתצוגה מקדימה.
- אפליקציות צ'אט מוצגות בתצוגה מקדימה רק של קישורים שמתחילים ב-
https://
, כך שהתצוגה המקדימה שלhttps://support.example.com/cases/
לא מופיעה בתצוגה המקדימה שלsupport.example.com/cases/
. - אלא אם ההודעה כוללת מידע נוסף שנשלח לאפליקציית Chat, כמו פקודת לוכסן, רק כתובת ה-URL של הקישור נשלחת לאפליקציית Chat באמצעות תצוגה מקדימה של קישורים.
- כרטיסים שמצורפים לקישורים שמוצגים בתצוגה מקדימה תומכים רק ב-
ActionResponse
מסוגUPDATE_USER_MESSAGE_CARDS
, ורק בתגובה לאירוע אינטראקציה של אפליקציית Chat. התצוגה המקדימה של הקישורים לא תומכת ב-UPDATE_MESSAGE
או בבקשות אסינכרוניות לעדכון כרטיסים שמצורפים לקישור שמוצג בתצוגה מקדימה דרך Chat API. מידע נוסף על עדכון כרטיס
תצוגה מקדימה של קישורים לניפוי באגים
כשמטמיעים תצוגה מקדימה של קישורים, יכול להיות שתצטרכו לקרוא את יומני האפליקציה כדי לנפות באגים באפליקציית Chat. כדי לקרוא את היומנים, צריך להיכנס אל Logs Explorer במסוף Google Cloud.