כדי למנוע מעבר הקשר כשמשתמשים משתפים קישור ב-Google Chat, אפליקציית Chat יכולה להציג תצוגה מקדימה של הקישור על ידי צירוף כרטיס להודעה שלהם, שכולל מידע נוסף ומאפשר לאנשים לבצע פעולה ישירות מ-Google Chat.
לדוגמה, נניח שיש מרחב ב-Google Chat שכולל את כל נציגי שירות הלקוחות של חברה מסוימת, וגם אפליקציית Chat בשם Case-y. נציגי שירות לקוחות משתפים לעיתים קרובות קישורים לפנייות לשירות לקוחות במרחב הצ'אט, ובכל פעם שהם עושים זאת, הקולגות שלהם צריכים לפתוח את הקישור לפנייה כדי לראות פרטים כמו הנציג שאליו הוקצתה הפנייה, הסטטוס והנושא. באופן דומה, אם מישהו רוצה לקבל בעלות על פנייה או לשנות את הסטטוס שלה, הוא צריך לפתוח את הקישור.
התכונה 'תצוגה מקדימה של קישורים' מאפשרת לאפליקציית Chat שפועלת במרחב, Case-y, לצרף כרטיס עם פרטים כמו המקבל, הסטטוס והנושא בכל פעם שמישהו משתף קישור לטיפול בפנייה. הלחצנים בכרטיס מאפשרים לנציגים לקבל בעלות על הפנייה ולשנות את הסטטוס שלה ישירות מזרם הצ'אט.
איך פועלת התצוגה המקדימה של קישורים
כשמישהו מוסיף קישור להודעה, מופיע צ'יפ שמודיע לו שאפליקציית Chat עשויה להציג תצוגה מקדימה של הקישור.

אחרי שליחת ההודעה, הקישור נשלח לאפליקציית Chat, שיוצרת ומצרפת את הכרטיס להודעה של המשתמש.

בכרטיס מוצג מידע נוסף על הקישור, כולל רכיבים אינטראקטיביים כמו לחצנים. אפליקציית הצ'אט יכולה לעדכן את הכרטיס המצורף בתגובה לאינטראקציות של המשתמשים, כמו קליקים על לחצנים.
אם מישהו לא רוצה שאפליקציית Chat תציג תצוגה מקדימה של הקישור שלו על ידי צירוף כרטיס להודעה, הוא יכול למנוע את התצוגה המקדימה על ידי לחיצה על בצ'יפ התצוגה המקדימה. המשתמשים יכולים להסיר את הכרטיס המצורף בכל שלב על ידי לחיצה על הסרת התצוגה המקדימה.
דרישות מוקדמות
HTTP
אפליקציה ל-Google Chat שמקבלת אינטראקציות עם משתמשים ומגיבה להן. כדי ליצור אחד, צריך להשלים את המדריך למתחילים בנושא HTTP.
Apps Script
אפליקציה ל-Google 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 בדומיין של תבנית המארח, משאירים את קידומת הנתיב ריקה.
לדוגמה, אם תבנית המארח היא
support.example.com, כדי להתאים לכתובות URL של מקרים שמתארחים ב-support.example.com/cases/, מזיניםcases/.לוחצים על סיום.
לוחצים על שמירה.
מעכשיו, בכל פעם שמישהו ישלח הודעה במרחב ב-Chat שכולל את אפליקציית Chat שלכם, וההודעה תכלול קישור שתואם לדפוס של כתובת URL לתצוגה מקדימה של קישור, האפליקציה שלכם תציג תצוגה מקדימה של הקישור.
תצוגה מקדימה של קישור
אחרי שמגדירים תצוגה מקדימה של קישור מסוים, אפליקציית Chat יכולה לזהות את הקישור ולהציג אותו בתצוגה מקדימה על ידי צירוף מידע נוסף אליו.
במרחבים ב-Chat שכוללים את אפליקציית Chat שלכם, כשמישהו שולח הודעה שמכילה קישור שתואם לתבנית של כתובת URL לתצוגה מקדימה של קישור, אפליקציית Chat שלכם מקבלת אובייקט של אירוע עם MessagePayload.
במטען הייעודי (Payload), האובייקט message.matchedUrl (chat.messagePayload.message.matchedUrl.url) מכיל את הקישור שהמשתמש כלל בהודעה:
JSON
message: {
matchedUrl: {
url: "https://support.example.com/cases/case123"
},
... // other message attributes redacted
}
אפליקציית Chat יכולה להוסיף מידע להודעה עם הקישור לתצוגה המקדימה, על ידי בדיקה אם השדה matchedUrl קיים במטען הייעודי (payload) של אירוע MESSAGE (chat.messagePayload.message.matchedUrl.url). אפליקציית Chat יכולה לענות באמצעות הודעת טקסט בסיסית או לצרף כרטיס.
איך עונים להודעות טקסט
כדי לקבל תשובות בסיסיות, אפליקציית Chat יכולה להציג תצוגה מקדימה של קישור על ידי שליחת תשובה עם הודעת טקסט פשוטה לקישור. בדוגמה הזו מצורף הודעה שחוזרת על כתובת ה-URL של הקישור שתואמת לתבנית של כתובת ה-URL של התצוגה המקדימה של הקישור.
Node.js
מחליפים את הערך FUNCTION_URL בנקודת הקצה של ה-HTTP שמטפלת בלחיצות על הלחצן.
Python
מחליפים את הערך FUNCTION_URL בנקודת הקצה של ה-HTTP שמטפלת בלחיצות על הלחצן.
Java
מחליפים את הערך FUNCTION_URL בנקודת הקצה של ה-HTTP שמטפלת בלחיצות על הלחצן.
Apps Script
צירוף כרטיס עם תצוגה מקדימה של הקישור
כדי לצרף כרטיס לקישור בתצוגה מקדימה, מחזירים את הפעולה DataActions עם האובייקט ChatDataActionMarkup מסוג UpdateInlinePreviewAction.
בדוגמה הבאה, אפליקציה ל-Chat מוסיפה כרטיס תצוגה מקדימה להודעות שמכילות את תבנית כתובת ה-URL support.example.com.

Node.js
מחליפים את הערך FUNCTION_URL בנקודת הקצה של ה-HTTP שמטפלת בלחיצות על הלחצן.
Python
מחליפים את הערך FUNCTION_URL בנקודת הקצה של ה-HTTP שמטפלת בלחיצות על הלחצן.
Java
מחליפים את הערך FUNCTION_URL בנקודת הקצה של ה-HTTP שמטפלת בלחיצות על הלחצן.
Apps Script
עדכון כרטיס תצוגה מקדימה של קישור
אפליקציית Chat יכולה לעדכן את כרטיס התצוגה המקדימה של הקישור כשמשתמשים מבצעים פעולות בכרטיס, כמו לחיצה על לחצן.
כדי לעדכן את הכרטיס, אפליקציית Chat צריכה להחזיר את הפעולה DataActions עם אחד מאובייקטי ChatDataActionMarkup הבאים:
- אם משתמש שלח את ההודעה, מחזירים אובייקט
UpdateMessageAction. - אם ההודעה נשלחה מאפליקציית Chat, הפונקציה מחזירה אובייקט
UpdateInlinePreviewAction.
כדי לדעת מי שלח את ההודעה, משתמשים במטען הייעודי (payload) של האירוע (buttonClickedPayload) כדי לבדוק אם השולח (message.sender.type) מוגדר כ-HUMAN (משתמש) או כ-BOT (אפליקציית Chat).
בדוגמה הבאה אפשר לראות איך אפליקציית Chat מעדכנת תצוגה מקדימה של קישור בכל פעם שמשתמש לוחץ על הלחצן הקצאה לי. האפליקציה מעדכנת את השדה מקבל ההקצאה בכרטיס ומשביתה את הלחצן.

Node.js
מחליפים את הערך FUNCTION_URL בנקודת הקצה של ה-HTTP שמטפלת בלחיצות על הלחצן.
Python
מחליפים את הערך FUNCTION_URL בנקודת הקצה של ה-HTTP שמטפלת בלחיצות על הלחצן.
Java
מחליפים את הערך FUNCTION_URL בנקודת הקצה של ה-HTTP שמטפלת בלחיצות על הלחצן.
Apps Script
מגבלות ושיקולים
כשמגדירים תצוגות מקדימות של קישורים לאפליקציית Chat, חשוב לשים לב למגבלות ולשיקולים הבאים:
- כל אפליקציית Chat תומכת בתצוגה מקדימה של קישורים לעד 5 תבניות של כתובות URL.
- אפליקציות ל-Chat מציגות תצוגה מקדימה של קישור אחד לכל הודעה. אם יש כמה קישורים שאפשר לראות את התצוגה המקדימה שלהם בהודעה אחת, רק התצוגה המקדימה של הקישור הראשון תוצג.
- באפליקציות צ'אט מוצגת תצוגה מקדימה רק לקישורים שמתחילים ב-
https://, כך שקישור כמוhttps://support.example.com/cases/יוצג בתצוגה מקדימה, אבל קישור כמוsupport.example.com/cases/לא יוצג. - אלא אם ההודעה כוללת מידע אחר שנשלח לאפליקציית Chat, כמו פקודה דרך שורת הפקודות, רק כתובת ה-URL של הקישור נשלחת לאפליקציית Chat בתצוגה המקדימה של הקישור.
- אם משתמש מפרסם את הקישור, אפליקציית Chat יכולה לעדכן את כרטיס התצוגה המקדימה של הקישור רק אם משתמשים מקיימים אינטראקציה עם הכרטיס, למשל לחיצה על לחצן. אי אפשר להתקשר לשיטת
update()של Chat API במשאבMessageכדי לעדכן הודעה של משתמש באופן אסינכרוני. - אפליקציות ל-Chat צריכות להציג תצוגה מקדימה של קישורים לכל המשתתפים במרחב, ולכן ההודעה לא יכולה לכלול את השדה
privateMessageViewer.
ניפוי באגים בתצוגות מקדימות של קישורים
במהלך ההטמעה של תצוגה מקדימה של קישורים, יכול להיות שתצטרכו לנפות באגים באפליקציית Chat על ידי קריאת היומנים של האפליקציה. כדי לקרוא את היומנים, נכנסים אל Logs Explorer במסוף Google Cloud.
אפליקציות ל-Chat שלא מוגדרות כתוספים: תצוגה מקדימה של קישורים
המסמכים הבאים רלוונטיים לאפליקציות ל-Chat שהן לא תוספים ל-Google Workspace. כדי להעביר אפליקציה ל-Chat שלא מוגדרת כתוסף, אפשר לעיין במאמר בנושא המרת אפליקציה ל-Google Chat לתוסף ל-Google Workspace.
במרחבים ב-Chat שכוללים אפליקציית Chat שהיא לא תוסף, כשמישהו שולח הודעה עם קישור שתואם לתבנית של כתובת URL לתצוגה מקדימה של קישור, אפליקציית Chat מקבלת אירוע אינטראקציה מסוג MESSAGE. מטען ה-JSON של אירוע האינטראקציה מכיל את השדה matchedUrl:
JSON
message: {
matchedUrl: {
url: "https://support.example.com/cases/case123"
},
... // other message attributes redacted
}
אפליקציית Chat שהיא לא תוסף יכולה להוסיף מידע להודעה עם הקישור שמוצגת התצוגה המקדימה שלו, על ידי בדיקה אם השדה matchedUrl קיים במטען הייעודי (payload) של אירוע MESSAGE.
איך עונים להודעות טקסט
כדי לקבל תצוגה מקדימה של קישור בתשובה, אפליקציית Chat שלא מוגדרת כתוסף יכולה לשלוח הודעת טקסט פשוטה עם הקישור. בדוגמה הזו מצורף הודעה שחוזרת על כתובת ה-URL של הקישור שתואמת לתבנית של כתובת URL לתצוגה מקדימה של קישור:
Node.js
Python
Java
Apps Script
צירוף כרטיס עם תצוגה מקדימה של הקישור
כדי לצרף כרטיס לקישור בתצוגה מקדימה באפליקציית Chat שהיא לא תוסף, מחזירים ActionResponse מסוג UPDATE_USER_MESSAGE_CARDS. בדוגמה הזו מצורף כרטיס בסיסי:
Node.js
Python
Java
Apps Script
בדוגמה הזו, הודעת הכרטיס נשלחת על ידי החזרת JSON של הכרטיס. אפשר גם להשתמש בשירות הכרטיסים של Apps Script.
עדכון כרטיס תצוגה מקדימה של קישור
כדי לעדכן כרטיס של תצוגה מקדימה של קישור באפליקציית Chat שהיא לא תוסף, צריך לטפל באירוע האינטראקציה CARD_CLICKED ולהחזיר actionResponse בהתאם למי ששלח את ההודעה שמכילה את התצוגה המקדימה של הקישור:
- אם משתמש שלח את ההודעה, צריך להגדיר את הערך של
actionResponse.typeל-UPDATE_USER_MESSAGE_CARDS. - אם ההודעה נשלחה מאפליקציית Chat, צריך להגדיר את
actionResponse.typeל-UPDATE_MESSAGE.
כדי לדעת מי שלח את ההודעה, אפשר להשתמש בשדה message.sender.type של אירוע האינטראקציה כדי לראות אם השולח היה משתמש HUMAN או BOT.
בדוגמה הבאה אפשר לראות איך אפליקציית Chat שהיא לא תוסף מעדכנת את התצוגה המקדימה של הקישור בכל פעם שמשתמש לוחץ על הלחצן הקצאה לי. האפליקציה מעדכנת את השדה מקבל ההקצאה בכרטיס ומשביתה את הלחצן:
Node.js
Python
Java
Apps Script
בדוגמה הזו, הודעת הכרטיס נשלחת על ידי החזרת JSON של הכרטיס. אפשר גם להשתמש בשירות הכרטיסים של Apps Script.