As ações são pontos de entrada no app que definem a invocação e a descoberta. para seu app. Você declara ações em um arquivo JSON conhecido como pacote de ações. e depois enviá-los ao seu projeto de desenvolvedor quando quiser testar ou enviar seu projeto do Actions para aprovação. Um pacote de ação é um arquivo JSON define as ações no seu projeto.
Para definir ações no seu pacote de ações, crie uma intent que defina como a ação é invocada e o endpoint de fulfillment correspondente para quando é acionada. É possível criar os seguintes tipos de ações:
- Ação padrão:todo projeto do Actions precisa ter uma intent de boas-vindas que aja
como ponto de entrada para os usuários iniciarem conversas. A intent de boas-vindas é
acionada quando os usuários invocam explicitamente uma ação ao expressar o nome dela (por
por exemplo: "Ok Google, falar com ExampleAction"). Essa intent de boas-vindas é identificada
o nome da intent
actions.intent.MAIN
. - Outras ações para links diretos:você pode criar outras ações no seu pacote de ações com intents definidas por você. Isso permite que os usuários invocar uma funcionalidade específica dizendo o nome de uma ação junto com uma intent Por exemplo: "Ok Google, fale com ExampleAction para encontrar sapatos".
Consulte Intents e invocação para saber mais. esses modelos de invocação funcionam.
Definir uma ação padrão
Cada pacote de ações precisa ter apenas uma intent que processe o
actions.intent.MAIN
. Essa intent é acionada quando os usuários invocam
Ação pelo nome (por exemplo, "Ok Google, falar com ExampleAction").
Para gerar um arquivo de pacote de ação padrão chamado action.json
, pegue o
etapas a seguir:
- Faça o download da CLI
gactions
. - Crie um diretório local para os arquivos de origem do seu projeto do Action.
Execute estes comandos no terminal:
$ cd PROJECT_DIRECTORY $ gactions init
Depois que o arquivo do pacote de ações for gerado, substitua o conteúdo do marcador pelo seu
e a distribuição dos valores dos dados. Confira um exemplo de action.json
com mudanças para 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" }
Definir ações adicionais
É possível fornecer ações adicionais que funcionam como pontos de entrada. Isso permite que os usuários sem ambiguidade da intenção, permitindo que especifiquem mais detalhes sobre o que fazer. Por exemplo, "Ok Google, fale com a ExampleAction para sapatos.").
Para definir outras ações:
-
Na matriz
Por exemplo, o código a seguir mostra uma opção de "comprar" adicional Ação que define:actions
, especifique uma ação para cada ponto de entrada.- O nome de uma intent de
com.example.ExampleAction.BUY
parameters
para analisar a entrada do usuário quando essa intent for acionada. Isso é útil se você precisar de dados específicos da frase "Ação" quando os usuários invocam a ação.queryPatterns
, que definem o que os usuários precisam dizer para acionar a intent. Os padrões de consulta podem incluir tipos Schema.org que definem os parâmetros para análise.
{ "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" ] } } }
- O nome de uma intent de
-
Especifique o fulfillment dessa intent especificando um
conversationName
que corresponde a um item no objetoconversations
.{ "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } } }
Confira um exemplo de pacote completo de ações:
{ "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" }