صحنه واحد اصلی کنترل جریان در هنگام طراحی مکالمه است. آنها را می توان با صحنه های دیگر زنجیر کرد، برای کاربر نهایی درخواست ایجاد کرد و اسلات ها را تعریف کرد. نام صحنه در نام فایل مشخص شده است.
نمایندگی YAML | |
---|---|
onEnter: object ( |
فیلدها | |
---|---|
onEnter | کنترل کننده برای فراخوانی هنگام انتقال به این صحنه. |
intentEvents[] | فهرست رویدادهایی که بر اساس مقاصد راهاندازی میشوند. این رویدادها می توانند در هر زمانی پس از فراخوانی On_load Handler فعال شوند. مهم - این رویدادها مجموعه ای از مقاصد را تعریف می کنند که در محدوده این صحنه قرار می گیرند و بر هر رویداد تعریف شده جهانی که دارای مقاصد یکسان یا عبارات محرک آنها هستند اولویت دارند. نام هدف باید در یک صحنه منحصر به فرد باشد. |
conditionalEvents[] | فهرست رویدادهایی که باید بر اساس عبارات شرطی فعال شوند. اینها پس از پر شدن فرم یا بلافاصله پس از on_load اگر این صحنه فاقد فرم باشد، ارزیابی می شوند (ارزیابی فقط یک بار انجام می شود). فقط اولین رویداد منطبق فعال خواهد شد. |
slots[] | لیست سفارش داده شده اسلات. هر شکاف نوع داده ای را که حل می کند و پیکربندی می کند تا تجربه این وضوح را سفارشی کند (مثلاً درخواست ها) را مشخص می کند. |
onSlotUpdated | هنگامی که تغییری در وضعیت یک اسلات ایجاد می شود که به دلیل به روز رسانی در Handler دیگر ایجاد نمی شود، Handler تماس می گیرد. این اجازه می دهد تا اسلات ها باطل شوند، صحنه باطل شود یا سایر تغییرات در وضعیت صحنه. |
اسلات
پیکربندی برای یک اسلات. اسلات ها واحدهای واحدی از داده هستند که می توانند از طریق زبان طبیعی (یعنی پارامترهای هدف)، پارامترهای جلسه و سایر منابع پر شوند.
نمایندگی YAML | |
---|---|
name: string type: object ( |
فیلدها | |
---|---|
name | مورد نیاز. نام شکاف. |
type | مورد نیاز. نوع داده این اسلات را اعلام می کند. |
required | اختیاری. نشان می دهد که آیا قبل از پیشروی باید شکاف پر شود یا خیر. اسلاتهای مورد نیاز که پر نشدهاند، یک درخواست قابل تنظیم برای کاربر ایجاد میکنند. |
promptSettings | اختیاری. درخواست هایی را برای مراحل مختلف پر کردن شکاف ثبت می کند. |
commitBehavior | اختیاری. رفتار مرتبط با شکاف را مرتکب شوید. |
config | اختیاری. پیکربندی اضافی مرتبط با شکاف که برای پر کردن شکاف استفاده می شود. فرمت پیکربندی به نوع اسلات بستگی دارد. ارجاع منابع به پارامتر کاربر یا جلسه را می توان به این پیکربندی اضافه کرد. این پیکربندی برای پر کردن اسلات های مربوط به تراکنش ها و تعامل کاربر مورد نیاز است. مثال: برای یک اسلات از نوع actions.type.CompletePurchaseValue، پیکربندی زیر یک سفارش خوب دیجیتالی را با ارجاع به پارامتر جلسه تعریف شده توسط مشتری { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec"، "skuId": { "skuType": "SKU_TYPE_IN_APP"، "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } } |
defaultValue | اختیاری. پیکربندی برای پر کردن یک مقدار پیشفرض برای این اسلات. |
PromptSettings
یک مکان واحد که در آن اعلان های اسلات تعریف می شوند.
نمایندگی YAML | |
---|---|
initialPrompt: object ( |
فیلدها | |
---|---|
initialPrompt | خود مقدار اسلات را درخواست کنید. مثال: "چه سایزی می خواستی؟" |
noMatchPrompt1 | هنگامی که ورودی کاربر برای اولین بار با نوع مقدار مورد انتظار برای اسلات مطابقت ندارد، درخواست ارائه دهید. مثال: "ببخشید، متوجه نشدم." |
noMatchPrompt2 | هنگامی که ورودی کاربر برای بار دوم با نوع مقدار مورد انتظار برای اسلات مطابقت ندارد، درخواست ارائه دهید. مثال: "ببخشید، متوجه نشدم." |
noMatchFinalPrompt | زمانی که ورودی کاربر برای آخرین بار با نوع مقدار مورد انتظار برای اسلات مطابقت نداشته باشد، درخواست داده شود. مثال: "ببخشید، متوجه نشدم." |
noInputPrompt1 | هنگامی که کاربر برای اولین بار ورودی ارائه نمی کند، اعلان بدهید. مثال: "ببخشید، متوجه نشدم." |
noInputPrompt2 | هنگامی که کاربر برای بار دوم ورودی ارائه نمی کند، درخواست دهید. مثال: "ببخشید، متوجه نشدم." |
noInputFinalPrompt | هنگامی که کاربر برای آخرین بار ورودی ارائه نمی کند، درخواست دهید. مثال: "ببخشید، متوجه نشدم." |
رفتار متعهد
پیامی که رفتار commit مرتبط با اسلات را پس از پر شدن موفقیت آمیز توصیف می کند.
نمایندگی YAML | |
---|---|
writeSessionParam: string |
فیلدها | |
---|---|
writeSessionParam | پارامتر جلسه برای نوشتن مقدار اسلات پس از پر شدن. توجه داشته باشید که مسیرهای تودرتو در حال حاضر پشتیبانی نمی شوند. "$$" برای نوشتن مقدار اسلات در پارامتر جلسه با همان نام اسلات استفاده می شود. به عنوان مثال: writeSessionParam = "میوه" با "$session.params.fruit" مطابقت دارد. writeSessionParam = "بلیت" با "$session.params.ticket" مطابقت دارد. |
مقدار پیش فرض
پیکربندی برای پر کردن یک مقدار پیشفرض برای این اسلات.
نمایندگی YAML | |
---|---|
sessionParam: string constant: value |
فیلدها | |
---|---|
sessionParam | اختیاری. پارامتر جلسه ای که برای مقداردهی اولیه اسلات استفاده می شود، اگر مقدار غیر خالی داشته باشد. نوع مقدار باید با نوع شکاف مطابقت داشته باشد. توجه داشته باشید که مسیرهای تودرتو در حال حاضر پشتیبانی نمی شوند. به عنوان مثال: |
constant | اختیاری. مقدار پیش فرض ثابت برای اسلات. این فقط در صورتی استفاده خواهد شد که مقداری برای این اسلات از طریق |