הודעות

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

סוגי תשובות

לכל הנחיה, אפשר לבחור מתוך מגוון סוגי תשובות מעניינים Assistant להציג למשתמשים:

  • תשובות פשוטות: תשובות פשוטות מופיעות בצורת בועת צ'אט באופן חזותי ומשתמשים בהמרת טקסט לדיבור (TTS) או ב-SSML, אודיו. תשובות פשוטות הן התגובות היחידות שנתמכות בכל סוגי המכשירים.
  • תגובות עשירות: תגובות עשירות מכילות רכיבים ויזואליים או פונקציונליים לשפר את האינטראקציות של המשתמשים עם הפעולות שלכם. בעזרת תשובות עשירות, אפשר גם להציג נתונים בטבלה או להפעיל תוכן אודיו בפורמט ארוך יותר.
  • תגובות של בחירה חזותית: תשובות של בחירה חזותית מספקות תמונה ויזואלית ממשק שמאפשר למשתמשים לבחור בין אפשרויות מרובות הזמינות ביותר, להבדיל לפי שם או תמונה.
  • תגובות למדיה: תגובות מדיה מאפשרות לפעולות להפעיל אודיו ארוך יותר יותר מ-SSML, ולספק רכיב חזותי עם בקרי מדיה.
  • לוח שיתופי אינטראקטיבי: לוח הציור האינטראקטיבי מציג את התשובות במסך מלא. תצוגות אינטרנט ומתפקדות כאפליקציית אינטרנט אינטראקטיבית ש-Assistant שולחת תגובה למשתמש בשיחה. לוח הציור משתמש בהנחיה קצת שונה כדי לספק גמישות נוספת בתקני אינטרנט כמו HTML, CSS JavaScript.

כל אחד מסוגי התגובות האלה משתמש באותו פורמט של הנחיות בסיסיות ויש לו גישה אל אותן תכונות כלליות שמתוארות בהמשך.

פורמט ההנחיה

בפרויקט Actions, מגדירים הנחיות בפורמט YAML או JSON. כל אחד הנחיה יכולה להכיל עד שתי תשובות פשוטות, ויכולה להגדיר גם תשובה. התשובות מוגדרות בדרכים הבאות:

  • first_simple: תגובה ראשונית של טקסט או דיבור (פשוטה) לשליחה למשתמש.
  • content: תוכן נוסף של תשובות עשירות לשליחה אחרי תשובות פשוטות.
  • last_simple תגובה סופית של טקסט או דיבור (פשוט) לשליחה למשתמש.
  • canvas: הפניה לאפליקציית אינטרנט שמשתלבת עם Interactive Canvas.

כברירת מחדל, ההצעות מצורפות זו לזו לפי הסדר שלמעלה כהנחיה לרשימת 'הבאים בתור'. לפני שהמשתמש יוכל להגיב, Assistant מציגה למשתמש את כל ההנחיות בתור ההנחיות.

בנוסף, תוכלו לספק גמישות בהנחיה באמצעות התכונות הבאות:

  • מועמדים: המועמדים מאפשרים לכם להגדיר תשובות על סמך יכולות המכשיר של המשתמש. לדוגמה, אפשר להוסיף ל-Assistant תוכן עשיר תגובות רק כשמשתמש מקיים אינטראקציה עם הפעולה שלך באמצעות תצוגה במכשיר.
  • וריאציות: וריאציות הן וריאציות חלופיות של הודעה בודדת. לדוגמה, אפשר לבקש מ-Assistant לבחור מבין חמישה סוגים שונים של היכרות וריאציות של הודעות בכל פעם שמשתמש מפעיל את הפעולה.
  • הצעות: ההצעות מספקות למשתמשים תכונות תצוגה מכשירים עם צ'יפים של הצעות כש-Assistant מציגה את ההודעה.

הנחיה שמוגדרת כברירת מחדל משתמשת במועמד אחד, בוריאנט אחד ובתשובה first_simple.

מועמדים

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

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

YAML

candidates:
  - selector:
      surface_capabilities:
        capabilities:
          - RICH_RESPONSE
    first_simple:
      variants:
        - speech: Here's a simple message.
    content:
      card:
        title: Image card title
        text: Some details about the image
        image:
          url: 'https://www.example.com/image/'
  - first_simple:
      variants:
        - speech: Text explains what the image might have shown in more detail.
    

JSON

{
  "candidates": [{
    "selector": {
      "surface_capabilities": {
        "capabilities": ["RICH_RESPONSE"]
      }
    },
    "first_simple": {
      "variants": [{
        "speech": "Here's a simple message."
      }]
    },
    "content": {
      "card": {
        "title": "Image card title",
        "text": "Some details about the image",
        "image": {
          "url": "https://www.example.com/image/"
        }
      }
    }
  }, {
    "first_simple": {
      "variants": [{
        "speech": "Text explains what the image might have shown in more detail."
      }]
    }
  }]
}
    

אתם יכולים לספק דרישה אחת או יותר ליכולת למועמד מסוים. הרשימה הבאה מתארת כל אחת מדרישות היכולות הזמינות:

  • SPEECH: המכשיר יכול לדבר אל המשתמש באמצעות המרת טקסט לדיבור (TTS) או SSML.
  • RICH_RESPONSE: המכשיר יכול להציג תגובות עשירות כמו כרטיסים, רשימות ו בטבלאות.
  • LONG_FORM_AUDIO: המכשיר יכול להפעיל מדיה אודיו ארוכה, כמו מוזיקה וגם של פודקאסטים.
  • INTERACTIVE_CANVAS: המכשיר יכול להציג תגובה אינטראקטיבית מלוח הציור.
  • WEB_LINK: המכשיר יכול להשתמש בקישורי אינטרנט בתגובות עשירות כדי לפתוח דפדפן אינטרנט.
  • HOME_STORAGE: המכשיר יכול לאחסן נתונים מהאחסון הביתי ולגשת אליהם.

וריאנטים

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

לדוגמה, כדאי לספק גרסאות שונות של הודעת הפתיחה כדי שהמשתמשים לא ישמעו את אותה תגובה בכל פעם שהם מפעילים את הפעולה שלכם:

YAML

candidates:
  - first_simple:
      variants:
        - speech: Hello.
        - speech: Hi there.
        - speech: Welcome.
    

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Hello."
      },{
        "speech": "Hi there."
      },{
        "speech": "Welcome."
      }]
    }
  }]
}
    

הצעות

דוגמה לצ'יפים של הצעות במסך חכם

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

אפשר לקבל עד 8 הצעות בהנחיה אחת, כשבכל הנחיה אפשר לבחור באורך של 25 תווים בטקסט ללא הצפנה.

כדי להוסיף הצעה, צריך לספק אובייקט Suggestion שמכיל כל אחד מהם בשדה title נפרד. כל כותר חייב להיות ייחודי בקבוצה של צ'יפים של הצעות. ב-Actions Builder, האובייקט הזה מיוצג ב-YAML JSON בתור suggestions.

לדוגמה, אפשר לשלוח לנו את המילה 'כן' וגם 'לא' הצעות לצד שאלה:

YAML

candidates:
  - first_simple:
      variants:
        - speech: 'Welcome, do you want to play a game?'
    suggestions:
      - title: 'Yes'
      - title: 'No'
    

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Welcome, do you want to play a game?"
      }]
    },
    "suggestions": [{
      "title": "Yes"
    }, {
      "title": "No"
    }]
  }]
}