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" का होता है.

DefaultValue

इस स्लॉट के लिए डिफ़ॉल्ट वैल्यू भरने के लिए कॉन्फ़िगरेशन.

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

string

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

constant

value (Value format)

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