Scene

Die Szene ist die grundlegende Einheit für den Ablauf beim Entwerfen einer Unterhaltung. Sie können mit anderen Szenen verkettet werden, Prompts für 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 wird.

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 Gruppe von Intents, die sich auf diese Szene beziehen. Sie haben Vorrang vor global definierten Ereignissen mit denselben Intents oder ihren Trigger-Ausdrücken. 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. Diese werden ausgewertet, nachdem das Formular ausgefüllt wurde, oder sofort nach on_load, falls diese Szene kein Formular enthält (die Bewertung erfolgt nur einmal). Nur das erste übereinstimmende Ereignis wird ausgelöst.

slots[]

object (Slot)

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

onSlotUpdated

object (EventHandler)

Handler aufgerufen, wenn eine Statusänderung eines Slots auftritt, die nicht durch Updates in einem anderen Handler verursacht wird. Dadurch können Slots, die Szene ungültig gemacht oder andere Änderungen am Szenenstatus vorgenommen werden.

Anzeigenfläche

Konfiguration für einen Slot. Slots sind einzelne Dateneinheiten, die über natürliche Sprache (d. h. 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 des Slots.

type

object (ClassReference)

Erforderlich. Deklariert den Datentyp dieses Slots.

required

boolean

Optional. Gibt an, ob die Anzeigenfläche vor dem Fortfahren gefüllt werden muss. Nicht gefüllte Anzeigenflächen lösen eine anpassbare Aufforderung an den Nutzer aus.

promptSettings

object (PromptSettings)

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

commitBehavior

object (CommitBehavior)

Optional. Commit-Verhalten in Verbindung mit der Anzeigenfläche.

config

value (Value format)

Optional. Zusätzliche Konfiguration für den Slot, der zum Füllen des Slots verwendet wird. Das Format der Konfiguration ist spezifisch für den Slottyp. Dieser Konfiguration können Ressourcenverweise auf Nutzer- oder Sitzungsparameter hinzugefügt werden. Diese Konfiguration wird benötigt, um Slots im Zusammenhang mit Transaktionen und Nutzer-Engagement zu füllen.

Beispiel: Für einen Slot vom Typ actions.type.CompletePurchaseValue schlägt die folgende Konfiguration eine digitale Ware mit einem Verweis auf einen clientseitig definierten Sitzungsparameter userSelectedSkuId vor:

{ "@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 diese Anzeigenfläche.

PromptSettings

Ein zentraler Ort, an dem Slot-Prompts 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)

Fragt den Slotwert selbst ab. Beispiel: „Welche Größe wollten Sie?“

noMatchPrompt1

object (EventHandler)

Eine Aufforderung, die ausgegeben wird, wenn die Eingabe des Nutzers zum ersten Mal nicht dem erwarteten Werttyp für den Slot entspricht. Beispiel: „Tut mir leid, das habe ich nicht verstanden.“

noMatchPrompt2

object (EventHandler)

Eine Aufforderung, die ausgegeben wird, 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, die ausgegeben wird, wenn die Eingabe des Nutzers zum 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, die gegeben wird, wenn der Nutzer nicht zum ersten Mal eine Eingabe macht. Beispiel: „Tut mir leid, das habe ich nicht verstanden.“

noInputPrompt2

object (EventHandler)

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

noInputFinalPrompt

object (EventHandler)

Aufforderung, die gegeben wird, wenn der Nutzer zum letzten Mal nichts eingegeben hat. Beispiel: „Tut mir leid, das habe ich nicht verstanden.“

CommitBehavior

Meldung, die das Commit-Verhalten für den Slot beschreibt, nachdem er erfolgreich gefüllt wurde

YAML-Darstellung
writeSessionParam: string
Felder
writeSessionParam

string

Der Sitzungsparameter zum Schreiben des Slotwerts, nachdem er gefüllt wurde. Beachten Sie, dass verschachtelte Pfade derzeit nicht unterstützt werden. „€€“ wird verwendet, um den Slotwert in einen Sitzungsparameter mit dem Namen des Slots zu schreiben. Beispiel: writeSessionParam = "Obst" "$session.params.fruit" entspricht. writeSessionParam = "Ticket" entspricht "$session.params.ticket".

DefaultValue

Konfiguration zum Ausfüllen eines Standardwerts für diese Anzeigenfläche.

YAML-Darstellung
sessionParam: string
constant: value
Felder
sessionParam

string

Optional. Der Sitzungsparameter, der zum Initialisieren des Slotwerts verwendet wird, wenn er einen nicht leeren Wert hat. Der Typ des Werts muss mit dem Typ der Anzeigenfläche übereinstimmen. Beachten Sie, dass verschachtelte Pfade derzeit nicht unterstützt werden. 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 diese Anzeigenfläche nicht über sessionParam ausgefüllt wurde. Der Typ für diesen Wert muss mit dem Typ der Anzeigenfläche übereinstimmen.