Scene

Scena to podstawowa jednostka kontroli podczas projektowania rozmowy. Można je łączyć w sieci z innymi scenami, generować prośby 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 wywoływany przy przechodzeniu do tej sceny.

intentEvents[]

object (IntentEvent)

Lista zdarzeń, które są aktywowane na podstawie intencji. Te zdarzenia mogą zostać wywołane w dowolnym momencie po wywołaniu modułu obsługi on_load. Ważne – te zdarzenia definiują zbiór intencji ograniczonych do tej sceny i mają pierwszeństwo przed wszystkimi zdarzeniami zdefiniowanymi globalnie, które mają te same intencje lub te same wyrażenia wyzwalające. Nazwy intencji nie mogą się powtarzać w obrębie danej sceny.

conditionalEvents[]

object (ConditionalEvent)

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

slots[]

object (Slot)

Uporządkowana lista przedziałów. Każdy przedział określa typ danych, które będzie w nim przetwarzać, oraz konfigurację w celu dostosowania sposobu rozwiązania tego problemu (np. promptów).

onSlotUpdated

object (EventHandler)

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

Boks

Konfiguracja przedziału. Przedziały to pojedyncze jednostki danych, które można wypełniać za pomocą 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

Wymagane. Nazwa boksu.

type

object (ClassReference)

Wymagane. Deklaruje typ danych tego przedziału.

required

boolean

Opcjonalnie: Wskazuje, czy przed przejściem dalej trzeba wypełnić boks. Niewypełnione wymagane przedziały powodują wyświetlenie prośby, którą można dostosować.

promptSettings

object (PromptSettings)

Opcjonalnie: Rejestruje prompty na różne etapy wypełniania przedziałów.

commitBehavior

object (CommitBehavior)

Opcjonalnie: Działanie zatwierdzenia powiązane z przedziałem.

config

value (Value format)

Opcjonalnie: Dodatkowa konfiguracja powiązana z przedziałem służącym do jego wypełniania. Format konfiguracji zależy od typu przedziału. Odwołania do zasobów do parametru użytkownika lub sesji można dodać do tej konfiguracji. Ta konfiguracja jest potrzebna do wypełniania przedziałów związanych z transakcjami i zaangażowaniem użytkowników.

Przykład: w przypadku przedziału typu actions.type.CompletePurchaseValue ta konfiguracja proponuje zamówienie towaru cyfrowego z odwołaniem do parametru sesji zdefiniowanego przez klienta: 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)

Opcjonalnie: Konfiguracja wypełniania domyślnej wartości dla 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 samą wartość przedziału. Przykład: „Jaki rozmiar chcesz uzyskać?”.

noMatchPrompt1

object (EventHandler)

Pytaj, gdy dane wejściowe użytkownika po raz pierwszy nie pasują do oczekiwanego typu wartości w boksie. Przykład: „Nie rozumiem”.

noMatchPrompt2

object (EventHandler)

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

noMatchFinalPrompt

object (EventHandler)

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

noInputPrompt1

object (EventHandler)

Pytaj, gdy użytkownik po raz pierwszy nie wpisze danych wejściowych. Przykład: „Nie rozumiem”.

noInputPrompt2

object (EventHandler)

Prompt, gdy użytkownik po raz drugi nie poda danych wejściowych. Przykład: „Nie rozumiem”.

noInputFinalPrompt

object (EventHandler)

Prompt, gdy użytkownik ostatnio nie podał danych wejściowych. Przykład: „Nie rozumiem”.

CommitBehavior

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

Reprezentacja YAML
writeSessionParam: string
Pola
writeSessionParam

string

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

DefaultValue

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

Reprezentacja YAML
sessionParam: string
constant: value
Pola
sessionParam

string

Opcjonalnie: Parametr sesji używany do inicjowania wartości przedziału, jeśli nie zawiera ona pustej wartości. Typ wartości musi pasować do typu boksu. Pamiętaj, że ścieżki zagnieżdżone nie są obecnie obsługiwane. Na przykład: sessionParam = "fruit" odpowiada $session.params.fruit. sessionParam = "ticket" odpowiada $session.params.ticket.

constant

value (Value format)

Opcjonalnie: Stała wartość domyślna boksu. Będzie ona używana tylko wtedy, gdy wartość dla tego przedziału nie została wypełniona w polu sessionParam. Typ tej wartości musi pasować do typu boksu.