לקבל אינטראקציות של משתמשים ולהגיב להן

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

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

לדוגמה, אפליקציות ל-Chat משתמשות באירועי אינטראקציה כדי לבצע את הפעולות הבאות:

דוגמה לאירוע של אינטראקציה תשובה אופיינית מאפליקציית Chat
משתמש מפעיל אפליקציית Chat על ידי אזכור שלה באמצעות @ או שימוש בפקודת לוכסן. אפליקציית Chat מעבדת את מה שנאמר בהודעה כדי ליצור הודעה. לדוגמה, אפליקציית Chat משיבה לפקודה /about עם הודעה עם הסבר על המשימות שאפליקציית Chat יכולה לבצע.
משתמש מוסיף אפליקציית Chat למרחב המשותף. אפליקציית Chat שולחת הודעה למשתמשים חדשים שמסבירה מה היא עושה ואיך המשתמשים במרחב המשותף יכולים לתקשר איתה.
משתמש מסיר אפליקציית Chat ממרחב משותף. אפליקציית Chat מסירה את כל ההתראות הנכנסות שהוגדרו למרחב המשותף (למשל, מחיקה של webhook) ומפנה מקום באחסון הפנימי.
משתמש לוחץ על לחצן בכרטיס או בתיבת דו-שיח שנשלחו מאפליקציית Chat. אפליקציית Chat מעבדת ומאחסנת נתונים שהמשתמש שלח, או מחזירה כרטיס אחר או תיבת דו-שיח אחרת.

לכל סוג של אינטראקציה של משתמש, Google Chat שולח אירוע אינטראקציה מסוג אחר שעוזר לאפליקציית Chat לטפל בכל סוג אירוע בהתאם. לדוגמה, ב-Google Chat נעשה שימוש בסוג האירוע ADDED_TO_SPACE בכל אינטראקציה שבה משתמש מוסיף את אפליקציית Chat למרחב, כדי שאפליקציית Chat תוכל לטפל בתשובה (למשל, פרסום הודעת פתיחה למרחב). במאמרי העזרה של EventType תוכלו לראות את כל אירועי האינטראקציה הנתמכים.

בדף הזה נסביר איך לבצע את הפעולות הבאות:

  • מגדירים את אפליקציית Chat כדי לקבל אירועים.
  • עיבוד אירוע האינטראקציה בתשתית.
  • אם הדבר רלוונטי, הגיבו לאירועי אינטראקציה.

קבלת אירועי אינטראקציה באפליקציה ל-Chat

בקטע הזה מוסבר איך מקבלים ומעבדים אירועי אינטראקציה באפליקציית Chat.

איך מגדירים את האפליקציה ל-Chat כדי לקבל אירועי אינטראקציות

חלק מהאפליקציות של Chat הן לא אינטראקטיביות. לדוגמה, webhooks נכנסים יכולים לשלוח רק הודעות יוצאות ולא להגיב למשתמשים. כשיוצרים אפליקציית Chat אינטראקטיבית, צריך לבחור נקודת קצה (endpoint) שמאפשרת לאפליקציית Chat לקבל, לעבד ולהגיב. במאמר ארכיטקטורות הטמעה של אפליקציות ל-Chat תוכלו לקרוא מידע נוסף על עיצוב אפליקציית Chat.

אם יצרתם אפליקציית Chat אינטראקטיבית, אתם צריכים להגדיר את Google Chat API כדי ש-Google Chat יוכל לשלוח לכם אירועי אינטראקציה:

  1. במסוף Google Cloud, פותחים את הדף Google Chat API:

    לדף Google Chat API

  2. לוחצים על הכרטיסייה Configuration.
  3. בקטע תכונות אינטראקטיביות, מעבירים את המתג הפעלת תכונות אינטראקטיביות למצב פעיל.
  4. בקטע פונקציונליות, מסמנים את אחת מתיבות הסימון הבאות או את שתיהן:
    1. קבלת הודעות אישיות: המשתמשים יכולים לתקשר עם אפליקציית Chat במרחבים משותפים של צ'אטים אישיים. אפליקציית Chat מקבלת אירועי אינטראקציה בכל פעם שמשתמש שולח הודעה במרחב המשותף בצ'אט.
    2. הצטרפות למרחבים משותפים ולשיחות קבוצתיות: המשתמשים יכולים להוסיף את אפליקציית Chat למרחבים משותפים עם יותר מאדם אחד ולהסיר אותה. אפליקציית Chat מקבלת אירועי אינטראקציה בכל פעם שמוסיפים אותה למרחב המשותף או מסירים אותה, ובכל פעם שמשתמשים מאזכרים באמצעות @או משתמשים בפקודה בקו נטוי במרחב.
  5. בקטע הגדרות חיבור, מציינים לאן Google Chat ישלח אירועי אינטראקציה.
  6. אופציונלי: בפקודות של Slash, מוסיפים ומגדירים לפחות פקודה אחת או יותר. למידע נוסף, ראו הגדרת פקודות באמצעות לוכסנים.
  7. אם אתם רוצים, תוכלו להיעזר בתצוגות המקדימות של הקישורים ולהגדיר תבנית URL אחת או יותר שיוצגו בתצוגה מקדימה של אפליקציית Chat. למידע נוסף, ראו תצוגה מקדימה של קישורים.
  8. לוחצים על שמירה.

אפליקציית Chat שלכם מוגדרת עכשיו לקבל אירועי אינטראקציות מ-Google Chat.

צריך לטפל בניסיונות חוזרים של קריאות HTTP לשירות שלך

אם בקשת HTTPS לשירות שלכם נכשלת (למשל, הזמן הקצוב לתפוגה, כשל רשת זמני או קוד סטטוס HTTPS שאינו 2xx), יכול להיות ש-Google Chat ינסה לשלוח שוב כמה פעמים בתוך כמה דקות (אבל זה לא מובטח). לכן, יכול להיות שאפליקציית Chat תקבל את אותה ההודעה כמה פעמים במצבים מסוימים. אם הבקשה הושלמה בהצלחה אבל מחזירה מטען ייעודי (payload) של הודעה לא תקין, לא יתבצע ניסיון חוזר של הבקשה ב-Google Chat.

לעבד אירועי אינטראקציה או להשיב להם

כאן מוסבר איך אפליקציות של Google Chat יכולות לעבד אירועי אינטראקציה ולהגיב להם.

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

לכל אירוע של אינטראקציה, אפליקציות ל-Chat מקבלות גוף בקשה, שהוא המטען הייעודי (payload) של JSON שמייצג את האירוע. תוכלו להשתמש במידע הזה כדי לעבד תשובה. במאמר סוגים של אירועי אינטראקציה באפליקציית Chat תוכלו לראות דוגמאות למטענים ייעודיים (payloads).

התרשים הבא ממחיש איך אפליקציית Google Chat בדרך כלל מעבדת סוגים שונים של אירועי אינטראקציה או מגיבה אליהם:

ארכיטקטורה של האופן שבו אפליקציות של Google Chat מעבדות אירועי אינטראקציה.

הצגת התשובות באופן שוטף

אירועי אינטראקציה מאפשרים לאפליקציות ל-Chat להגיב בזמן אמת או באופן סינכרוני. תשובות סינכרוניות לא דורשות אימות.

כדי ליצור תגובות סינכרוניות לאירועי אינטראקציה, תוכלו להיעזר במדריכים הבאים:

כדי להגיב באופן סינכרוני, אפליקציית Chat צריכה להגיב תוך 30 שניות, והתשובה צריכה להתפרסם במרחב שבו התרחשה האינטראקציה. אחרת, אפליקציית Chat יכולה לענות באופן אסינכרוני.

מענה באופן אסינכרוני

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

במאמר יצירת הודעה מוסבר איך יוצרים הודעות באמצעות Chat API. במאמר סקירה כללית על Chat API תוכלו לקרוא מדריכים נוספים על שימוש בשיטות נוספות של Chat API.