Un intent integrato è un identificatore univoco che puoi specificare per indicare all'Assistente Google che l'azione può soddisfare una categoria specifica di utenti richieste. Ad esempio, ecco alcuni esempi di query utente che l'assistente associa gli intent integrati:
- "Gioca" intent integrato: "Hey Google. Fai un gioco di memoria"
- "Ottieni oroscopo" intent integrato: "Hey Google. Prendi l'oroscopo"
Durante il rilevamento delle azioni, l'assistente può usare metadati relativi all'Azione, inclusi gli intent integrati che hai specificato, per consigliare l'azione agli utenti. Per ridurre al minimo i round trip conversazionali, l'assistente prova anche a scansionare i parametri dalle query dell'utente e passarle all'Azione.
Per vedere l'elenco completo degli intent integrati supportati dall'assistente: inclusi i parametri e le query di esempio degli utenti, vedi le Riferimento agli intent integrati.
Integra gli intent integrati
A seconda di come crei l'Azione, ci sono diversi modi per integrare gli intent integrati.
Dialogflow
Se utilizzi Dialogflow per creare l'azione, puoi collegare un intent integrato dalla console di Dialogflow in modo grafico.
Per collegare un intent integrato con Dialogflow, segui questi passaggi:
- Apri la console di Dialogflow, seleziona il tuo agente, quindi vai alla Schermata Intent.
Crea o seleziona l'intent che l'agente attiva quando riceve un per intenzione integrata. Apri la sezione Eventi e fai clic su Aggiungi Evento.
.Nel campo Eventi, digita il nome di un evento di intent integrato per il tuo (ad esempio
.actions_intent_PLAY_GAME
).Fai clic su Salva.
SDK Actions
Se utilizzi l'SDK Actions per creare l'azione, devi specificare la mappatura tra gli intent integrati e le azioni nel pacchetto di azioni.
Per collegare un intent integrato con l'SDK Actions, segui questi passaggi:
- Specifica l'intent integrato nel campo del nome della definizione dell'azione.
- Carica il pacchetto azioni nel progetto Actions utilizzando lo strumento
gactions
, ad esempio descritto in Panoramica dell'SDK Actions.
Ad esempio, il seguente snippet mostra come aggiungere CHECK_AIR_QUALITY
l'intent integrato:
{
"actions":[
{
"description":"Default Welcome Intent",
"name":"MAIN",
"fulfillment":{
"conversationName":"conversation_1"
},
"intent":{
"name":"actions.intent.MAIN"
}
},
{
"description":"Check Air Quality",
"name":"CHECK_AIR_QUALITY",
"fulfillment":{
"conversationName":"conversation_1"
},
"intent":{
"name":"actions.intent.CHECK_AIR_QUALITY"
}
}
],
"conversations":{
"conversation_1":{
"name":"conversation_1",
"url":"https://example.com/fulfillment",
"fulfillmentApiVersion":2
}
}
}
Gestire i parametri di intent integrati
Quando l'Azione viene richiamata tramite un intent integrato, il completamento potrebbe ricevono parametri aggiuntivi. Lo schema per intent definisce i nomi dei e relativi tipi come primitivi o schema.org le entità. Per visualizzare lo schema per gli intent integrati delle azioni conversazionali, consulta la sezione Riferimento agli intent integrati.
I parametri per gli intent integrati sono facoltativi. L'assistente gestisce il riempimento con valori, se possono essere estratti dalla chiamata dell'utente l'intent integrato.
Ad esempio, lo schema dell'architettura actions.intent.CHECK_AIR_QUALITY
integrata
definisce quattro parametri facoltativi:
Nome parametro | Tipo |
---|---|
attributes |
Un valore stringa. |
location |
Un oggetto schema.org/Place . |
temporalCoverage |
Un oggetto schema.org/Duration . |
timeIndicator |
Un'EnumeratedDuration (estensione specifica di Google). |
Il seguente snippet di codice mostra un esempio di webhook di conversazione (JSON) richiesta quando un utente richiama l'azione dicendo "Qual è la qualità dell'aria nelle San Francisco domani?":
"inputs":[
{
"intent":"actions.intent.CHECK_AIR_QUALITY",
"rawInputs":[
{
"inputType":"VOICE",
"query":"what is the air quality in san francisco tomorrow"
}
],
"arguments":[
{
"name":"location",
"structuredValue":{
"geo":{
"longitude":-122.41941550000001,
"latitude":37.7749295
},
"@context":"https://schema.org",
"@type":"Place",
"name":"san francisco"
}
},
{
"name":"temporalCoverage",
"rawText":"2018-04-25",
"textValue":"2018-04-25"
}
]
}
]
In questo esempio, i parametri hanno i seguenti valori:
- Il parametro
location
contiene il parametroschema.org/Place
per "Milano". - Il parametro
temporalCoverage
contiene il parametroschema.org/Duration
valore per la data di domani relativa all'ora della chiamata. - Non sono presenti valori per i parametri
attributes
etimeIndicator
perché la frase di chiamata dell'utente non includeva tali informazioni.
Se utilizzi la libreria client di Actions on Google per Node.js, puoi recuperare il valore dei parametri come mostrato nello snippet seguente:
app.intent('actions.intent.CHECK_AIR_QUALITY', (conv) => {
const attributes = conv.arguments.get('attributes');
const location = conv.arguments.get('location');
const temporal_coverage = conv.arguments.get('temporalCoverage');
Const time_indicator = conv.arguments.get('timeIndicator')
// Your Action logic. If you need to use any of the parameter values,
// you should check first that it is defined. Arguments.get returns
// undefined if it can't find a value for a parameter.
});
Testare le integrazioni con intent integrati
Per testare l'integrazione, segui questi passaggi:
- Apri il simulatore di Azioni con l'Azione di test attivata oppure apri l'assistente sul tuo dispositivo.
- Pronuncia o digita una query associata all'intent integrato. Ad esempio: "Voglio giocare."
- Cerca l'azione nella finestra di dialogo di selezione delle app visualizzata.
- Seleziona la tua app per inviare un intent.
Best practice per l'utilizzo di intent integrati
Quando utilizzi gli intent integrati, devi seguire queste best practice:
- Mappare gli intent integrati ad azioni specifiche: quando un intent integrato specifico
attivi l'Azione, indirizza l'utente all'intento specifico
la tua funzionalità nell'azione con il minor attrito possibile. Per
Ad esempio, se l'Azione supporta l'intent integrato
PLAY_GAME
e riceve tale intento, dovresti indirizzare immediatamente l'utente alla funzionalità del gioco dell'Azione. Evita di chiedere di nuovo all'utente se vuole giocare. - Gestire i parametri di intent integrati: assicurati di utilizzare l'intent integrato i valori parametro che l'assistente invia al tuo fulfillment. Evita di chiedere nuovamente all'utente questi valori.