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 ( |
Felder | |
---|---|
onEnter |
Handler, der beim Übergang zu dieser Szene aufgerufen werden soll. |
intentEvents[] |
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[] |
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[] |
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 |
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 ( |
Felder | |
---|---|
name |
Erforderlich. Name der Anzeigenfläche. |
type |
Erforderlich. Deklariert den Datentyp dieses Slots. |
required |
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 |
Optional. Registriert Aufforderungen für verschiedene Phasen der Slot-Füllung. |
commitBehavior |
Optional. Mit dem Slot verknüpftes Commit-Verhalten. |
config |
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 { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } } |
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 ( |
Felder | |
---|---|
initialPrompt |
Geben Sie den Slotwert selbst ein. Beispiel: „Welche Größe möchtest du?“ |
noMatchPrompt1 |
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 |
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 |
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 |
Aufforderung zu geben, wenn der Nutzer zum ersten Mal keine Eingabe vornimmt. Beispiel: „Tut mir leid, das habe ich nicht verstanden.“ |
noInputPrompt2 |
Aufforderung zur Ausgabe, wenn der Nutzer zum zweiten Mal keine Eingabe abgibt. Beispiel: „Tut mir leid, das habe ich nicht verstanden.“ |
noInputFinalPrompt |
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 |
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 |
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: |
constant |
Optional. Konstanter Standardwert für die Anzeigenfläche Wird nur verwendet, wenn ein Wert für diesen Slot nicht über |