Scene

Die Szene ist die grundlegende Einheit des Steuerungsablaufs beim Entwerfen einer Unterhaltung. Sie können mit anderen Szenen verkettet werden, Prompts für den Endnutzer generieren und Slots definieren. Der Szenenname wird im Namen der Datei angegeben.

YAML-Darstellung
onEnter: 
  object (EventHandler)
intentEvents: 
  - object (IntentEvent)
conditionalEvents: 
  - object (ConditionalEvent)
slots: 
  - object (Slot)
onSlotUpdated: 
  object (EventHandler)
Felder
onEnter

object (EventHandler)

Handler, der beim Übergang zu dieser Szene aufgerufen werden soll.

intentEvents[]

object (IntentEvent)

Die Liste der Ereignisse, die basierend auf Intents ausgelöst werden. Diese Ereignisse können jederzeit ausgelöst werden, nachdem der on_load-Handler aufgerufen wurde. Wichtig: Diese Ereignisse definieren die Intents, die auf diese Szene beschränkt sind. Sie haben Vorrang vor allen global definierten Ereignissen, die dieselben Intents oder ihre auslösenden Wortgruppen haben. Intent-Namen müssen innerhalb einer Szene eindeutig sein.

conditionalEvents[]

object (ConditionalEvent)

Die Liste der Ereignisse, die basierend auf bedingten Anweisungen ausgelöst werden sollen. Sie werden ausgewertet, nachdem das Formular ausgefüllt wurde, oder direkt nach on_load, wenn in dieser Szene kein Formular vorhanden ist (die Auswertung wird nur einmal durchgeführt). Nur das erste übereinstimmende Ereignis wird ausgelöst.

slots[]

object (Slot)

Sortierte Liste der Slots. Jeder Slot definiert den Typ der aufzulösenden Daten und die Konfiguration, um die Darstellung dieser Auflösung (z.B. Aufforderungen) anzupassen.

onSlotUpdated

object (EventHandler)

Handler wird aufgerufen, wenn sich der Status eines Slots ändert, der nicht durch Aktualisierungen innerhalb eines anderen Handlers verursacht wird. Dadurch können Slots entwertet, die Szene entwertet oder andere Änderungen am Szenenstatus vorgenommen werden.

Slot

Konfiguration für einen Slot. Slots sind einzelne Dateneinheiten, die durch natürliche Sprache (z. B. Intent-Parameter), Sitzungsparameter und andere Quellen gefüllt werden können.

YAML-Darstellung
name: string
type: 
  object (ClassReference)
required: boolean
promptSettings: 
  object (PromptSettings)
commitBehavior: 
  object (CommitBehavior)
config: value
defaultValue: 
  object (DefaultValue)
Felder
name

string

Erforderlich. Name der Anzeigenfläche.

type

object (ClassReference)

Erforderlich. Deklariert den Datentyp dieses Slots.

required

boolean

Optional. Gibt an, ob die Anzeigenfläche gefüllt werden muss, bevor die Anzeige fortgesetzt wird. Nicht gefüllte Anzeigenflächen lösen eine anpassbare Aufforderung für den Nutzer aus.

promptSettings

object (PromptSettings)

Optional. Registriert Aufforderungen für verschiedene Phasen der Slot-Füllung.

commitBehavior

object (CommitBehavior)

Optional. Mit dem Slot verknüpftes Commit-Verhalten.

config

value (Value format)

Optional. Zusätzliche mit der Anzeigenfläche verknüpfte Konfiguration, die zum Füllen der Anzeigenfläche verwendet wird. Das Format der Konfiguration richtet sich nach dem Slottyp. Dieser Konfiguration können Ressourcenverweise auf Nutzer- oder Sitzungsparameter hinzugefügt werden. Diese Konfiguration wird zum Füllen von Slots im Zusammenhang mit Transaktionen und Nutzerinteraktionen benötigt.

Beispiel: Für einen Slot vom Typ actions.type.CompletePurchaseValue wird mit der folgenden Konfiguration eine digitale Ware mit einem Verweis auf den clientseitigen Sitzungsparameter userSelectedSkuId vorgeschlagen:

{ "@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)

Optional. Konfiguration zum Ausfüllen eines Standardwerts für diesen Slot.

PromptSettings

Ein zentraler Ort, an dem Slot-Aufforderungen definiert werden.

YAML-Darstellung
initialPrompt: 
  object (EventHandler)
noMatchPrompt1: 
  object (EventHandler)
noMatchPrompt2: 
  object (EventHandler)
noMatchFinalPrompt: 
  object (EventHandler)
noInputPrompt1: 
  object (EventHandler)
noInputPrompt2: 
  object (EventHandler)
noInputFinalPrompt: 
  object (EventHandler)
Felder
initialPrompt

object (EventHandler)

Geben Sie den Slotwert selbst ein. Beispiel: „Welche Größe möchtest du?“

noMatchPrompt1

object (EventHandler)

Aufforderung zur Ausgabe, wenn die Eingabe des Nutzers zum ersten Mal nicht mit dem erwarteten Werttyp für die Anzeigenfläche übereinstimmt. Beispiel: „Tut mir leid, das habe ich nicht verstanden.“

noMatchPrompt2

object (EventHandler)

Aufforderung zur Ausgabe, wenn die Eingabe des Nutzers zum zweiten Mal nicht mit dem erwarteten Werttyp für den Slot übereinstimmt. Beispiel: „Tut mir leid, das habe ich nicht verstanden.“

noMatchFinalPrompt

object (EventHandler)

Aufforderung zur Ausgabe, wenn die Eingabe des Nutzers beim letzten Mal nicht mit dem erwarteten Werttyp für den Slot übereinstimmt. Beispiel: „Tut mir leid, das habe ich nicht verstanden.“

noInputPrompt1

object (EventHandler)

Aufforderung zu geben, wenn der Nutzer zum ersten Mal keine Eingabe vornimmt. Beispiel: „Tut mir leid, das habe ich nicht verstanden.“

noInputPrompt2

object (EventHandler)

Aufforderung zur Ausgabe, wenn der Nutzer zum zweiten Mal keine Eingabe abgibt. Beispiel: „Tut mir leid, das habe ich nicht verstanden.“

noInputFinalPrompt

object (EventHandler)

Aufforderung zu geben, wenn der Nutzer zum letzten Mal keine Eingabe gegeben hat. Beispiel: „Tut mir leid, das habe ich nicht verstanden.“

CommitBehavior

Meldung, die das Commit-Verhalten beschreibt, das mit dem Slot verknüpft ist, nachdem er erfolgreich gefüllt wurde.

YAML-Darstellung
writeSessionParam: string
Felder
writeSessionParam

string

Sitzungsparameter zum Schreiben des Slotwerts, nachdem dieser gefüllt wurde. Verschachtelte Pfade werden derzeit nicht unterstützt. Mit „$$“ wird der Slotwert in einen Sitzungsparameter mit demselben Namen wie der Slot geschrieben. Beispiel: writeSessionParam = "fruit" entspricht "$session.params.fruit". writeSessionParam = "ticket" entspricht "$session.params.ticket".

DefaultValue

Konfiguration zum Ausfüllen eines Standardwerts für diesen Slot.

YAML-Darstellung
sessionParam: string
constant: value
Felder
sessionParam

string

Optional. Sitzungsparameter, der zum Initialisieren des Slotwerts verwendet werden soll, falls ein Wert nicht leer ist Der Typ des Werts muss mit dem Typ der Anzeigenfläche übereinstimmen. Verschachtelte Pfade werden derzeit nicht unterstützt. Beispiel: sessionParam = "fruit" entspricht $session.params.fruit. sessionParam = "ticket" entspricht $session.params.ticket.

constant

value (Value format)

Optional. Konstanter Standardwert für die Anzeigenfläche Wird nur verwendet, wenn ein Wert für diesen Slot nicht über sessionParam ausgefüllt wurde. Der Typ für diesen Wert muss mit dem Typ der Anzeigenfläche übereinstimmen.