Scene

صحنه واحد اصلی کنترل جریان در هنگام طراحی مکالمه است. آنها را می توان با صحنه های دیگر زنجیر کرد، برای کاربر نهایی درخواست ایجاد کرد و اسلات ها را تعریف کرد. نام صحنه در نام فایل مشخص شده است.

نمایندگی YAML
onEnter: 
  object (EventHandler)
intentEvents: 
  - object (IntentEvent)
conditionalEvents: 
  - object (ConditionalEvent)
slots: 
  - object (Slot)
onSlotUpdated: 
  object (EventHandler)
فیلدها
onEnter

object ( EventHandler )

کنترل کننده برای فراخوانی هنگام انتقال به این صحنه.

intentEvents[]

object ( IntentEvent )

فهرست رویدادهایی که بر اساس مقاصد راه‌اندازی می‌شوند. این رویدادها می توانند در هر زمانی پس از فراخوانی On_load Handler فعال شوند. مهم - این رویدادها مجموعه ای از مقاصد را تعریف می کنند که در محدوده این صحنه قرار می گیرند و بر هر رویداد تعریف شده جهانی که دارای مقاصد یکسان یا عبارات محرک آنها هستند اولویت دارند. نام هدف باید در یک صحنه منحصر به فرد باشد.

conditionalEvents[]

object ( ConditionalEvent )

فهرست رویدادهایی که باید بر اساس عبارات شرطی فعال شوند. اینها پس از پر شدن فرم یا بلافاصله پس از on_load اگر این صحنه فاقد فرم باشد، ارزیابی می شوند (ارزیابی فقط یک بار انجام می شود). فقط اولین رویداد منطبق فعال خواهد شد.

slots[]

object ( Slot )

لیست سفارش داده شده اسلات. هر شکاف نوع داده ای را که حل می کند و پیکربندی می کند تا تجربه این وضوح را سفارشی کند (مثلاً درخواست ها) را مشخص می کند.

onSlotUpdated

object ( EventHandler )

هنگامی که تغییری در وضعیت یک اسلات ایجاد می شود که به دلیل به روز رسانی در Handler دیگر ایجاد نمی شود، Handler تماس می گیرد. این اجازه می دهد تا اسلات ها باطل شوند، صحنه باطل شود یا سایر تغییرات در وضعیت صحنه.

اسلات

پیکربندی برای یک اسلات. اسلات ها واحدهای واحدی از داده هستند که می توانند از طریق زبان طبیعی (یعنی پارامترهای هدف)، پارامترهای جلسه و سایر منابع پر شوند.

نمایندگی YAML
name: string
type: 
  object (ClassReference)
required: boolean
promptSettings: 
  object (PromptSettings)
commitBehavior: 
  object (CommitBehavior)
config: value
defaultValue: 
  object (DefaultValue)
فیلدها
name

string

مورد نیاز. نام شکاف.

type

object ( ClassReference )

مورد نیاز. نوع داده این اسلات را اعلام می کند.

required

boolean

اختیاری. نشان می دهد که آیا قبل از پیشروی باید شکاف پر شود یا خیر. اسلات‌های مورد نیاز که پر نشده‌اند، یک درخواست قابل تنظیم برای کاربر ایجاد می‌کنند.

promptSettings

object ( PromptSettings )

اختیاری. درخواست هایی را برای مراحل مختلف پر کردن شکاف ثبت می کند.

commitBehavior

object ( CommitBehavior )

اختیاری. رفتار مرتبط با شکاف را مرتکب شوید.

config

value ( Value format)

اختیاری. پیکربندی اضافی مرتبط با شکاف که برای پر کردن شکاف استفاده می شود. فرمت پیکربندی به نوع اسلات بستگی دارد. ارجاع منابع به پارامتر کاربر یا جلسه را می توان به این پیکربندی اضافه کرد. این پیکربندی برای پر کردن اسلات های مربوط به تراکنش ها و تعامل کاربر مورد نیاز است.

مثال: برای یک اسلات از نوع 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 )

اختیاری. پیکربندی برای پر کردن یک مقدار پیش‌فرض برای این اسلات.

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 )

خود مقدار اسلات را درخواست کنید. مثال: "چه سایزی می خواستی؟"

noMatchPrompt1

object ( EventHandler )

هنگامی که ورودی کاربر برای اولین بار با نوع مقدار مورد انتظار برای اسلات مطابقت ندارد، درخواست ارائه دهید. مثال: "ببخشید، متوجه نشدم."

noMatchPrompt2

object ( EventHandler )

هنگامی که ورودی کاربر برای بار دوم با نوع مقدار مورد انتظار برای اسلات مطابقت ندارد، درخواست ارائه دهید. مثال: "ببخشید، متوجه نشدم."

noMatchFinalPrompt

object ( EventHandler )

زمانی که ورودی کاربر برای آخرین بار با نوع مقدار مورد انتظار برای اسلات مطابقت نداشته باشد، درخواست داده شود. مثال: "ببخشید، متوجه نشدم."

noInputPrompt1

object ( EventHandler )

هنگامی که کاربر برای اولین بار ورودی ارائه نمی کند، اعلان بدهید. مثال: "ببخشید، متوجه نشدم."

noInputPrompt2

object ( EventHandler )

هنگامی که کاربر برای بار دوم ورودی ارائه نمی کند، درخواست دهید. مثال: "ببخشید، متوجه نشدم."

noInputFinalPrompt

object ( EventHandler )

هنگامی که کاربر برای آخرین بار ورودی ارائه نمی کند، درخواست دهید. مثال: "ببخشید، متوجه نشدم."

رفتار متعهد

پیامی که رفتار commit مرتبط با اسلات را پس از پر شدن موفقیت آمیز توصیف می کند.

نمایندگی YAML
writeSessionParam: string
فیلدها
writeSessionParam

string

پارامتر جلسه برای نوشتن مقدار اسلات پس از پر شدن. توجه داشته باشید که مسیرهای تودرتو در حال حاضر پشتیبانی نمی شوند. "$$" برای نوشتن مقدار اسلات در پارامتر جلسه با همان نام اسلات استفاده می شود. به عنوان مثال: writeSessionParam = "میوه" با "$session.params.fruit" مطابقت دارد. writeSessionParam = "بلیت" با "$session.params.ticket" مطابقت دارد.

مقدار پیش فرض

پیکربندی برای پر کردن یک مقدار پیش‌فرض برای این اسلات.

نمایندگی YAML
sessionParam: string
constant: value
فیلدها
sessionParam

string

اختیاری. پارامتر جلسه ای که برای مقداردهی اولیه اسلات استفاده می شود، اگر مقدار غیر خالی داشته باشد. نوع مقدار باید با نوع شکاف مطابقت داشته باشد. توجه داشته باشید که مسیرهای تودرتو در حال حاضر پشتیبانی نمی شوند. به عنوان مثال: sessionParam = "fruit" با $session.params.fruit مطابقت دارد. sessionParam = "ticket" مربوط به $session.params.ticket است.

constant

value ( Value format)

اختیاری. مقدار پیش فرض ثابت برای اسلات. این فقط در صورتی استفاده خواهد شد که مقداری برای این اسلات از طریق sessionParam پر نشده باشد. نوع این مقدار باید با نوع شکاف مطابقت داشته باشد.