Scene

Scena jest podstawową jednostką sterowania podczas projektowania rozmowy. Sceny można łączyć z innymi scenami, generować prompty dla użytkownika i definiować przedziały. Nazwa sceny jest podana w nazwie pliku.

Reprezentacja YAML
onEnter: 
  object (EventHandler)
intentEvents: 
  - object (IntentEvent)
conditionalEvents: 
  - object (ConditionalEvent)
slots: 
  - object (Slot)
onSlotUpdated: 
  object (EventHandler)
Pola
onEnter

object (EventHandler)

Moduł obsługi do wywołania przy przechodzeniu do tej sceny.

intentEvents[]

object (IntentEvent)

Lista zdarzeń wywoływanych na podstawie intencji. Te zdarzenia mogą być wywoływane w dowolnym momencie po wywołaniu modułu on_load. Ważne – te zdarzenia definiują zestaw intencji ograniczonych do tej sceny i mają pierwszeństwo przed wszystkimi zdarzeniami zdefiniowanymi globalnie, które mają te same intencje lub swoje wyrażenia wyzwalające. Nazwy intencji muszą być niepowtarzalne w obrębie sceny.

conditionalEvents[]

object (ConditionalEvent)

Lista zdarzeń do wywołania na podstawie instrukcji warunkowych. Są one oceniane po wypełnieniu formularza lub bezpośrednio po on_load, jeśli scena nie ma formularza (ocena jest przeprowadzana tylko raz). Uruchomione zostanie tylko pierwsze pasujące zdarzenie.

slots[]

object (Slot)

Uporządkowana lista przedziałów. Każdy przedział określa typ danych, które będzie rozpoznawany, oraz konfigurację w celu dostosowania sposobu obsługi tej rozdzielczości (np. prompty).

onSlotUpdated

object (EventHandler)

Moduł obsługi jest wywoływany, gdy zmiana stanu przedziału nie jest spowodowana aktualizacjami w innym module obsługi. Umożliwia to unieważnienie przedziałów, unieważnienie sceny lub inne zmiany stanu sceny.

Boks

Konfiguracja przedziału. Przedziały to pojedyncze jednostki danych, które mogą być wypełniane przy użyciu języka naturalnego (np. parametrów intencji), parametrów sesji i innych źródeł.

Reprezentacja YAML
name: string
type: 
  object (ClassReference)
required: boolean
promptSettings: 
  object (PromptSettings)
commitBehavior: 
  object (CommitBehavior)
config: value
defaultValue: 
  object (DefaultValue)
Pola
name

string

To pole jest wymagane. Nazwa boksu.

type

object (ClassReference)

To pole jest wymagane. Deklaruje typ danych tego boksu.

required

boolean

Opcjonalnie. Wskazuje, czy boks musi zostać wypełniony przed przejściem dalej. W przypadku wymaganych przedziałów, które nie są wypełnione, użytkownik zobaczy komunikat, który można dostosować.

promptSettings

object (PromptSettings)

Opcjonalnie. Rejestruje komunikaty dotyczące różnych etapów wypełniania przedziałów.

commitBehavior

object (CommitBehavior)

Opcjonalnie. Zachowanie zatwierdzenia związane z przedziałem.

config

value (Value format)

Opcjonalnie. Dodatkowa konfiguracja powiązana z przedziałem, który jest używany do jego wypełnienia. Format konfiguracji zależy od typu przedziału. Do tej konfiguracji można dodać odniesienia do zasobów do użytkownika lub parametru sesji. Ta konfiguracja jest potrzebna do wypełniania przedziałów związanych z transakcjami i zaangażowaniem użytkowników.

Przykład: w przypadku boksu typu actions.type.CompleteBuyValue przedstawiona poniżej konfiguracja przedstawia zamówienie towaru cyfrowego z odniesieniem do parametru sesji userSelectedSkuId zdefiniowanego przez klienta:

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

Opcjonalnie. Konfiguracja wypełniania wartości domyślnej tego przedziału.

PromptSettings

Pojedyncze miejsce, w którym definiuje się prompty dotyczące przedziałów.

Reprezentacja YAML
initialPrompt: 
  object (EventHandler)
noMatchPrompt1: 
  object (EventHandler)
noMatchPrompt2: 
  object (EventHandler)
noMatchFinalPrompt: 
  object (EventHandler)
noInputPrompt1: 
  object (EventHandler)
noInputPrompt2: 
  object (EventHandler)
noInputFinalPrompt: 
  object (EventHandler)
Pola
initialPrompt

object (EventHandler)

Pytaj o wartość boksu. Przykład: „Jaki rozmiar chcesz wybrać?”.

noMatchPrompt1

object (EventHandler)

Monit o przyznanie, gdy dane wejściowe użytkownika po raz pierwszy nie pasują do oczekiwanego typu wartości dla boksu. Przykład: „Nie rozumiem”.

noMatchPrompt2

object (EventHandler)

Monit o przyznanie, gdy dane wejściowe użytkownika nie pasują po raz drugi do oczekiwanego typu wartości w tym przedziale. Przykład: „Nie rozumiem”.

noMatchFinalPrompt

object (EventHandler)

Monit o przyznanie, gdy dane wejściowe użytkownika nie pasują po raz ostatni do oczekiwanego typu wartości w tym przedziale. Przykład: „Nie rozumiem”.

noInputPrompt1

object (EventHandler)

Monit do podania, gdy użytkownik nie wprowadzi danych po raz pierwszy. Przykład: „Nie rozumiem”.

noInputPrompt2

object (EventHandler)

Monit o przyznanie, gdy użytkownik nie wprowadzi danych po raz drugi. Przykład: „Nie rozumiem”.

noInputFinalPrompt

object (EventHandler)

Monit o przyznanie, gdy użytkownik po raz ostatni nie wpisał danych. Przykład: „Nie rozumiem”.

CommitBehavior

Komunikat opisujący zachowanie zatwierdzenia związane z przedziałem po jego wypełnieniu.

Reprezentacja YAML
writeSessionParam: string
Pola
writeSessionParam

string

Parametr sesji do zapisywania wartości boksu po jej wypełnieniu. Pamiętaj, że zagnieżdżone ścieżki nie są obecnie obsługiwane. „$$” służy do zapisywania wartości boksu w parametrze sesji o tej samej nazwie co boks. Np.: writeSessionParam = "owoc" odpowiada parametrowi "$session.params.fruit". writeSessionParam = "ticket" odpowiada parametrowi "$session.params.ticket".

DefaultValue

Konfiguracja wypełniania wartości domyślnej tego przedziału.

Reprezentacja YAML
sessionParam: string
constant: value
Pola
sessionParam

string

Opcjonalnie. Parametr sesji używany do inicjowania wartości boksu, jeśli zawiera wartość, która nie jest pusta. Typ wartości musi być zgodny z typem boksu. Pamiętaj, że zagnieżdżone ścieżki nie są obecnie obsługiwane. Na przykład: sessionParam = "fruit" odpowiada wartości $session.params.fruit. sessionParam = "ticket" odpowiada wartości $session.params.ticket.

constant

value (Value format)

Opcjonalnie. Stała wartość domyślna przedziału. Będzie ona używana tylko wtedy, gdy wartość tego boksu nie została wypełniona za pomocą sessionParam. Typ tej wartości musi odpowiadać typowi boksu.