Le azioni sono punti di ingresso nella tua app che definiscono la chiamata e il rilevamento per la tua app. Dichiari le azioni in un file JSON noto come pacchetto di azioni. che caricherai in un secondo momento nel tuo progetto sviluppatore quando vuoi testare invia il tuo progetto Actions per l'approvazione. Un pacchetto Action è un file JSON che definisce le azioni nel progetto Actions.
Per definire le azioni nel pacchetto Azioni, devi creare un intent che definisca come viene richiamata l'Azione e l'endpoint di evasione corrispondente quando viene attivato l'intent. Puoi creare i seguenti tipi di azioni:
- Azione predefinita: ogni progetto Actions deve avere un intent di benvenuto che agisca
come punto di accesso per consentire agli utenti di avviare conversazioni. L'intento di benvenuto è
si attiva quando gli utenti richiamano esplicitamente un'azione pronunciando il nome (ad
ad esempio "Hey Google, parla con ExampleAction"). Questo intento di benvenuto viene identificato
il nome dell'intent
actions.intent.MAIN
. - Azioni aggiuntive per i link diretti: puoi creare azioni aggiuntive in il tuo pacchetto Action con intent che definisci personalmente. Questo consente agli utenti per richiamare una funzionalità specifica pronunciando il nome di un'azione insieme a un intent Ad esempio: "Hey Google, parla con ExampleAction per trovare un paio di scarpe").
Per ulteriori informazioni su come, consulta la sezione Intent e chiamate funzionano questi modelli di chiamata.
Definisci un'azione predefinita
Ogni pacchetto di azioni deve avere un solo intent che gestisca i
Intenzione actions.intent.MAIN
. Questo intent viene attivato quando gli utenti richiamano il tuo
Azione in base al nome (ad esempio "Hey Google, parla con ExampleAction").
Per generare un file del pacchetto di azioni boilerplate denominato action.json
, utilizza la
seguenti passaggi:
- Scarica l'interfaccia a riga di comando di
gactions
. - Crea una directory locale per i file di origine del progetto di azione.
Esegui questi comandi nel terminale:
$ cd PROJECT_DIRECTORY $ gactions init
Una volta generato il file del pacchetto azioni, sostituisci il contenuto del segnaposto con il
e i relativi valori. Ecco un esempio di action.json
con modifiche per 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" }
Definisci azioni aggiuntive
Puoi fornire Azioni aggiuntive che fungano da punti di ingresso. Questo consente agli utenti possono chiarire le intenzioni degli utenti consentendo loro di specificare più dettagli vuoi fare (ad esempio, "Hey Google, parla con ExampleAction per trovarmi scarpe".).
Per definire le Azioni aggiuntive:
-
Nell'array
Ad esempio, il seguente codice mostra un'ulteriore "acquisto" Azione che definisce:actions
, specifica un'azione per ogni punto di ingresso.- Un nome intent di
com.example.ExampleAction.BUY
parameters
per analizzare l'input dell'utente quando viene attivato questo intent. Questo è utile se hai bisogno di dati specifici della frase Azione quando gli utenti richiamano l'azione.queryPatterns
che definiscono ciò che gli utenti devono dire per attivare l'intento. I pattern di query possono includere tipi di schema.org che definiscono i parametri da analizzare.
{ "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" ] } } }
- Un nome intent di
-
Specifica il completamento per questo intent specificando un
conversationName
che corrisponde a un elemento nell'oggettoconversations
.{ "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } } }
Di seguito è riportato un esempio di pacchetto di azioni completo:
{ "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" }