Działania to punkty wejścia do aplikacji, które definiują wywoływanie i odkrywanie dla Twojej aplikacji. Deklarujesz działania w pliku JSON o nazwie pakiet działań, który prześlesz później do swojego projektu programistycznego, by przetestować lub przesłać swój projekt w Actions do zatwierdzenia. Pakiet akcji to plik JSON, definiuje działania w projekcie Actions.
Aby zdefiniować działania w pakiecie akcji, musisz utworzyć intencję, która określa, działanie i odpowiedni punkt końcowy realizacji, dla którego intencja użytkownika. Możesz tworzyć te typy akcji:
- Działanie domyślne: każdy projekt w Actions musi mieć intencję powitalną, która działa
jako punkt wyjścia do
rozpoczęcia rozmowy. Intencja powitalna:
wywoływane, gdy użytkownik jawnie wywoła działanie przez wypowiedzenie jego nazwy (na
na przykład „OK Google, porozmawiaj z ExampleAction”). Ta intencja powitalna jest rozpoznawana za pomocą:
nazwę intencji
actions.intent.MAIN
. - Dodatkowe działania związane z precyzyjnymi linkami: dodatkowe działania możesz tworzyć w pakietu akcji z określonymi przez Ciebie intencjami. Dzięki temu użytkownicy aby wywołać określoną funkcję przez wypowiedzenie nazwy akcji wraz z intencją (na przykład: „OK Google, porozmawiaj z aplikacją ExampleAction, aby znaleźć buty”).
Więcej informacji znajdziesz w sekcji Intencje i wywołania. które działają.
Zdefiniuj działanie domyślne
Każdy pakiet akcji musi mieć tylko jedną intencję, która obsługuje
Intencja actions.intent.MAIN
. Ta intencja jest wyzwalana, gdy użytkownicy wywołają Twoją
działanie według nazwy (na przykład „OK Google, porozmawiaj z ExampleAction”);
Aby wygenerować stały plik pakietu akcji o nazwie action.json
, wykonaj
następujące kroki:
- Pobierz interfejs wiersza poleceń
gactions
. - Utwórz katalog lokalny na pliki źródłowe projektu akcji.
Uruchom w terminalu te polecenia:
$ cd PROJECT_DIRECTORY $ gactions init
Po wygenerowaniu pliku pakietu działań zastąp zawartość zastępczą
. Oto przykład danych action.json
ze zmianami wprowadzonymi w elemencie ExampleAction
:
{ "actions": [ { "description": "Default welcome intent", "name": "MAIN", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "actions.intent.MAIN", "trigger": { "queryPatterns": [ "talk to ExampleAction" ] } } } ], "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } }, "locale": "en" }
Zdefiniuj dodatkowe działania
Możesz dodać dodatkowe akcje, które będą działać jako punkty wejścia. Dzięki temu użytkownicy mogą bardziej precyzyjnie określić ich intencje, pokazując im więcej szczegółów które chcesz zrobić (na przykład „OK Google, porozmawiaj z użyciem ExampleAction”, aby znaleźć buty”.
Aby zdefiniować dodatkowe działania:
-
W tablicy
Na przykład ten kod zawiera dodatkową informację „Kup” Działanie, które określa:actions
określ działanie dla każdego punktu wejścia.- Nazwa intencji:
com.example.ExampleAction.BUY
parameters
, aby przeanalizować dane wejściowe użytkownika po aktywowaniu tej intencji. Przydaje się to, gdy potrzebujesz konkretnych danych z wyrażeń zachęcających do działania, użytkownicy wywołują działanie.queryPatterns
, które określają, co użytkownik musi powiedzieć, aby wywołać intencję. Wzorce zapytań mogą obejmować typy schema.org które definiują parametry do przeanalizowania.
{ "description": "Direct access", "name": "BUY", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "com.example.ExampleAction.BUY", "parameters": [ { "name": "color", "type": "org.schema.type.Color" } ], "trigger": { "queryPatterns": [ "find some $org.schema.type.Color:color sneakers", "buy some blue suede shoes", "get running shoes" ] } } }
- Nazwa intencji:
-
Określ realizację dla tej intencji, określając
conversationName
odpowiadający elementowi w obiekcieconversations
.{ "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } } }
Oto przykład pełnego pakietu Action:
{ "actions": [ { "description": "Default welcome intent", "name": "MAIN", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "actions.intent.MAIN", "trigger": { "queryPatterns": [ "talk to ExampleAction" ] } } }, { "description": "Direct access", "name": "BUY", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "com.example.ExampleAction.BUY", "parameters": [ { "name": "color", "type": "org.schema.type.Color" } ], "trigger": { "queryPatterns": [ "find some $org.schema.type.Color:color sneakers", "buy some blue suede shoes", "get running shoes" ] } } } ], "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } }, "locale": "en" }