Scene

סצנה היא היחידה הבסיסית של זרימת השליטה בעיצוב שיחה. אפשר לשרשר אותם יחד עם סצנות אחרות, ליצור הנחיות למשתמש הקצה ולהגדיר יחידות קיבולת (Slot). שם הסצנה מצוין בשם הקובץ.

ייצוג YAML
onEnter: 
  object (EventHandler)
intentEvents: 
  - object (IntentEvent)
conditionalEvents: 
  - object (ConditionalEvent)
slots: 
  - object (Slot)
onSlotUpdated: 
  object (EventHandler)
שדות
onEnter

object (EventHandler)

handler שצריך להפעיל כשעוברים לסצנה הזו.

intentEvents[]

object (IntentEvent)

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

conditionalEvents[]

object (ConditionalEvent)

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

slots[]

object (Slot)

רשימה ממוינת של יחידות קיבולת. כל יחידת קיבולת (Slot) מגדירה את סוג הנתונים שהיא תפתור ואת ההגדרה כדי להתאים אישית את חוויית הרזולוציה הזו (למשל, הנחיות).

onSlotUpdated

object (EventHandler)

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

משבצת

הגדרה של יחידת קיבולת (Slot). יחידות קיבולת (Slots) הן יחידות נתונים בודדות שניתן למלא באמצעות שפה טבעית (כלומר, פרמטרים של Intent), פרמטרים של פעילות באתר ומקורות אחרים.

ייצוג YAML
name: string
type: 
  object (ClassReference)
required: boolean
promptSettings: 
  object (PromptSettings)
commitBehavior: 
  object (CommitBehavior)
config: value
defaultValue: 
  object (DefaultValue)
שדות
name

string

חובה. השם של יחידת הקיבולת (Slot).

type

object (ClassReference)

חובה. סוג הנתונים של יחידת הקיבולת (Slot) הזו.

required

boolean

אפשרות. שדה זה מציין אם צריך למלא את יחידת הקיבולת (Slot) לפני ההתקדמות. אם השדה לא ימולא, תוצג למשתמש בקשה להתאמה אישית.

promptSettings

object (PromptSettings)

אפשרות. רושם הודעות לשלבים שונים של מילוי יחידות קיבולת (Slot).

commitBehavior

object (CommitBehavior)

אפשרות. ביצוע ההתנהגות שמשויכת ביחידת הקיבולת (Slot).

config

value (Value format)

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

דוגמה: עבור יחידת קיבולת (Slot) מסוג actions.type.CompletePurchaseValue, ההגדרה הבאה מציעה הזמנת מוצר דיגיטלית עם הפניה לפרמטר סשן בהגדרת הלקוח userSelectedSkuId:

{ "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } }

defaultValue

object (DefaultValue)

אפשרות. הגדרה לאכלוס ערך ברירת מחדל ביחידת הקיבולת (Slot) הזו.

PromptSettings

מקום אחד שבו מוגדרות הנחיות יחידות קיבולת.

ייצוג YAML
initialPrompt: 
  object (EventHandler)
noMatchPrompt1: 
  object (EventHandler)
noMatchPrompt2: 
  object (EventHandler)
noMatchFinalPrompt: 
  object (EventHandler)
noInputPrompt1: 
  object (EventHandler)
noInputPrompt2: 
  object (EventHandler)
noInputFinalPrompt: 
  object (EventHandler)
שדות
initialPrompt

object (EventHandler)

מבקשים מהערך של יחידת הקיבולת (Slot) עצמה. דוגמה: "באיזה גודל רצית?"

noMatchPrompt1

object (EventHandler)

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

noMatchPrompt2

object (EventHandler)

בקשה שתוצג כשהקלט של המשתמש לא תואם לסוג הערך הצפוי עבור יחידת הקיבולת (Slot) בפעם השנייה. לדוגמה: "סליחה, לא הבנתי".

noMatchFinalPrompt

object (EventHandler)

הצגת בקשה כשהקלט של המשתמש לא תואם לסוג הערך הצפוי עבור יחידת הקיבולת (Slot) בפעם האחרונה. לדוגמה: "סליחה, לא הבנתי".

noInputPrompt1

object (EventHandler)

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

noInputPrompt2

object (EventHandler)

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

noInputFinalPrompt

object (EventHandler)

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

CommitBehavior

הודעה שמתארת את התנהגות ההתחייבות המשויכת ליחידת הקיבולת (Slot) אחרי שהמשימה מולאה.

ייצוג YAML
writeSessionParam: string
שדות
writeSessionParam

string

פרמטר הסשן שכותב את ערך המיקום אחרי שממלאים אותו. לתשומת ליבכם: בשלב הזה אין תמיכה בנתיבים מקוננים. '$$' משמש לכתיבת הערך של מיקום המשבצת לפרמטר של סשן עם שם שזהה לשם של מיקום המשבצת. למשל: WriteSessionParam = "fruit" matching to "$session.params.fruit". WriteSessionParam = "ticket" eligible to "$session.params.ticket".

DefaultValue

הגדרה לאכלוס ערך ברירת מחדל ביחידת הקיבולת (Slot) הזו.

ייצוג YAML
sessionParam: string
constant: value
שדות
sessionParam

string

אפשרות. פרמטר הסשן שישמש לאתחול הערך של יחידת הקיבולת (Slot), אם הוא לא ריק. סוג הערך צריך להתאים לסוג של יחידת הקיבולת (Slot). לתשומת ליבכם: בשלב הזה אין תמיכה בנתיבים מקוננים. למשל: sessionParam = "fruit" תואם את $session.params.fruit. sessionParam = "ticket" תואם ל-$session.params.ticket.

constant

value (Value format)

אפשרות. ערך ברירת מחדל קבוע עבור יחידת הקיבולת. ייעשה שימוש באפשרות הזו רק אם ערך עבור יחידת הקיבולת (Slot) הזו לא הוזן באמצעות sessionParam. הסוג של הערך הזה צריך להתאים לסוג של יחידת הקיבולת (Slot).