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 ( |
Pola | |
---|---|
onEnter |
Moduł obsługi wywoływany przy przechodzeniu do tej sceny. |
intentEvents[] |
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[] |
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[] |
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 |
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 ( |
Pola | |
---|---|
name |
Wymagane. Nazwa boksu. |
type |
Wymagane. Deklaruje typ danych tego przedziału. |
required |
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 |
Opcjonalnie: Rejestruje prompty na różne etapy wypełniania przedziałów. |
commitBehavior |
Opcjonalnie: Działanie zatwierdzenia powiązane z przedziałem. |
config |
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: { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } |
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 ( |
Pola | |
---|---|
initialPrompt |
Pytaj o samą wartość przedziału. Przykład: „Jaki rozmiar chcesz uzyskać?”. |
noMatchPrompt1 |
Pytaj, gdy dane wejściowe użytkownika po raz pierwszy nie pasują do oczekiwanego typu wartości w boksie. Przykład: „Nie rozumiem”. |
noMatchPrompt2 |
Pytaj, gdy po raz drugi dane wejściowe użytkownika nie pasują do oczekiwanego typu wartości w boksie. Przykład: „Nie rozumiem”. |
noMatchFinalPrompt |
Pytaj, gdy dane wejściowe użytkownika nie pasują do oczekiwanego typu wartości dla boksu po raz ostatni. Przykład: „Nie rozumiem”. |
noInputPrompt1 |
Pytaj, gdy użytkownik po raz pierwszy nie wpisze danych wejściowych. Przykład: „Nie rozumiem”. |
noInputPrompt2 |
Prompt, gdy użytkownik po raz drugi nie poda danych wejściowych. Przykład: „Nie rozumiem”. |
noInputFinalPrompt |
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 |
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 |
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: |
constant |
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 |