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 हैंडलर को कॉल करने के बाद, ये इवेंट किसी भी समय ट्रिगर हो सकते हैं. अहम जानकारी - ये इवेंट, इस सीन के दायरे में आने वाले इंटेंट के सेट को तय करते हैं. साथ ही, दुनिया भर में तय किए गए ऐसे किसी भी इवेंट के मुकाबले इन्हें प्राथमिकता दी जाएगी जिनमें एक जैसे इंटेंट या उनके ट्रिगर करने वाले वाक्यांश होंगे. किसी सीन में, इंटेंट के नाम यूनीक होने चाहिए.

conditionalEvents[]

object (ConditionalEvent)

शर्त वाले स्टेटमेंट के आधार पर ट्रिगर किए जाने वाले इवेंट की सूची. फ़ॉर्म भरने के बाद या on_load के तुरंत बाद, अगर इस सीन में कोई फ़ॉर्म नहीं होता है, तो इवैलुएशन सिर्फ़ एक बार किया जाता है. सिर्फ़ पहला मिलता-जुलता इवेंट ट्रिगर किया जाएगा.

slots[]

object (Slot)

स्लॉट की क्रम वाली सूची. हर स्लॉट उस तरह के डेटा के बारे में बताता है जिसे वह ठीक करेगा.साथ ही, हर स्लॉट इस रिज़ॉल्यूशन के अनुभव को पसंद के मुताबिक बनाने के लिए, डेटा को कॉन्फ़िगर करता है. जैसे, प्रॉम्प्ट.

onSlotUpdated

object (EventHandler)

किसी स्लॉट की स्थिति में ऐसा बदलाव होने पर हैंडलर कॉल किया जाता है जो किसी दूसरे हैंडलर में अपडेट की वजह से नहीं होता. इससे स्लॉट अमान्य हो सकते हैं, सीन अमान्य हो सकता है या सीन की स्थिति में कोई और बदलाव हो सकता है.

स्लॉट

स्लॉट के लिए कॉन्फ़िगरेशन. स्लॉट, डेटा की ऐसी इकाइयां होती हैं जिन्हें नैचुरल लैंग्वेज (जैसे कि इंटेंट पैरामीटर), सेशन पैरामीटर, और दूसरे सोर्स के ज़रिए भरा जा सकता है.

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)

उपयोगकर्ता के पिछली बार कोई इनपुट न देने पर, सूचना देने का अनुरोध करें. उदाहरण: "माफ़ करें, मुझे समझ में नहीं आया."

CommitBehavior

स्लॉट के सही तरीके से भरे जाने के बाद, उससे जुड़े काम के बारे में बताने वाला मैसेज.

YAML प्रतिनिधि
writeSessionParam: string
फ़ील्ड
writeSessionParam

string

भरे जाने के बाद, स्लॉट की वैल्यू लिखने के लिए सेशन पैरामीटर. ध्यान दें कि फ़िलहाल नेस्ट किए गए पाथ का इस्तेमाल नहीं किया जा सकता. "$$" का इस्तेमाल किसी सेशन पैरामीटर में स्लॉट वैल्यू को उसी नाम से लिखने के लिए किया जाता है. उदाहरण: WritesessionParam = "fruit" "$session.params.fruit" से मेल खाता हो. राइट सेशनParam = "टिकट" "$session.params.ticket" से मेल खाता हो.

DefaultValue

इस स्लॉट के लिए डिफ़ॉल्ट मान पॉप्युलेट करने के लिए कॉन्फ़िगरेशन.

YAML प्रतिनिधि
sessionParam: string
constant: value
फ़ील्ड
sessionParam

string

ज़रूरी नहीं. स्लॉट वैल्यू शुरू करने के लिए इस्तेमाल किया जाने वाला सेशन पैरामीटर. हालांकि, इसके लिए ज़रूरी है कि उसमें कोई वैल्यू न हो. वैल्यू का टाइप, स्लॉट के टाइप से मेल खाना चाहिए. ध्यान दें कि फ़िलहाल नेस्ट किए गए पाथ का इस्तेमाल नहीं किया जा सकता. उदाहरण: sessionParam = "fruit", $session.params.fruit से जुड़ा है. sessionParam = "ticket", $session.params.ticket से मेल खाता है.

constant

value (Value format)

ज़रूरी नहीं. स्लॉट के लिए कॉन्स्टेंट डिफ़ॉल्ट वैल्यू. इसका इस्तेमाल सिर्फ़ तब किया जाएगा, जब इस स्लॉट के लिए कोई मान sessionParam के ज़रिए भरा नहीं गया था. इस वैल्यू का टाइप, स्लॉट के टाइप से मेल खाना चाहिए.