Un intent intégré est un identifiant unique que vous pouvez spécifier pour indiquer au Assistant Google que votre action peut répondre à une catégorie spécifique d'utilisateurs requêtes. Par exemple, voici quelques exemples de requêtes utilisateur l'Assistant met en correspondance les intents intégrés:
- "Jouer à ce jeu" intent intégré: "Ok Google. Lance un jeu de mémoire"
- "Obtenir l'horoscope" intent intégré: "Ok Google. Obtenez mon horoscope"
Pendant la détection d'actions, l'Assistant peut utiliser des métadonnées sur votre action, y compris les intents intégrés que vous avez spécifiés, pour recommander votre action aux utilisateurs. Pour réduire au maximum les allers-retours au niveau des conversations, l'Assistant tente aussi d'analyser les paramètres des requêtes de l'utilisateur et les transmettre à votre action.
Pour afficher la liste complète des intents intégrés compatibles avec l'Assistant, procédez comme suit : y compris leurs paramètres et des exemples de requêtes utilisateur, consultez Documentation de référence sur les intents intégrés
Intégrer des intents intégrés
Selon la façon dont vous créez votre action, il existe différentes manières de intégrer des intents intégrés.
Dialogflow
Si vous utilisez Dialogflow pour créer votre action, vous pouvez associer un intent intégré graphiquement depuis la console Dialogflow.
Pour associer un intent intégré avec Dialogflow, procédez comme suit:
- Ouvrez la console Dialogflow, sélectionnez votre agent, puis accédez à Intents.
Créez ou sélectionnez l'intent que votre agent déclenche lorsqu'il reçoit une un intent intégré spécifique. Ouvrez la section Événements, puis cliquez sur Ajouter Événement.
Dans le champ Événements, saisissez le nom d'un événement d'intent intégré pour votre (par exemple,
actions_intent_PLAY_GAME
).Cliquez sur Enregistrer.
SDK Actions
Si vous utilisez le SDK Actions pour créer votre action, vous devez spécifier le paramètre le mappage entre les intents intégrés et les actions de votre package Action.
Pour associer un intent intégré avec le SDK Actions, procédez comme suit:
- Spécifiez l'intent intégré dans le champ de nom de la définition de votre action.
- Importez votre package d'actions dans votre projet Actions à l'aide de l'outil
gactions
, en tant que décrites dans la présentation du SDK Actions.
Par exemple, l'extrait de code suivant montre comment ajouter CHECK_AIR_QUALITY
intent intégré:
{
"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
}
}
}
Gérer les paramètres d'intent intégrés
Lorsque votre action est appelée via un intent intégré, votre traitement peut reçoivent des paramètres supplémentaires. Le schéma d'intent définit les noms et leurs types en tant que types primitifs ou en tant que schema.org entités. Pour afficher le schéma des intents intégrés d'action conversationnelle, consultez la Documentation de référence sur les intents intégrés
Les paramètres des intents intégrés sont facultatifs. L'Assistant s'occupe de remplir avec des valeurs s'ils peuvent être extraits de l'appel de l'utilisateur l'intent intégré.
Par exemple, le schéma de l'instance intégrée actions.intent.CHECK_AIR_QUALITY
L'intent définit quatre paramètres facultatifs:
Nom du paramètre | Type |
---|---|
attributes |
Valeur de chaîne. |
location |
Un objet schema.org/Place . |
temporalCoverage |
Un objet schema.org/Duration . |
timeIndicator |
Une extension spécifique à Google (EnumeratedDuration ). |
L'extrait de code suivant présente un exemple de webhook de conversation (JSON) lorsqu'un utilisateur appelle votre action en disant "Quelle est la qualité de l'air San Francisco demain ?":
"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"
}
]
}
]
Dans cet exemple, les paramètres prennent les valeurs suivantes:
- Le paramètre
location
contient l'élémentschema.org/Place
pour "San Francisco". - Le paramètre
temporalCoverage
contient l'élémentschema.org/Duration
pour la date du lendemain par rapport à l'heure de l'appel. - Aucune valeur pour les paramètres
attributes
ettimeIndicator
car la phrase d'appel de l'utilisateur n'incluait pas ces informations.
Si vous utilisez la bibliothèque cliente Actions on Google pour Node.js, procédez comme suit : vous pouvez récupérer la valeur des paramètres, comme indiqué dans l'extrait de code suivant:
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.
});
Tester les intégrations avec des intents intégrés
Pour tester votre intégration, procédez comme suit:
- Ouvrez le simulateur d'actions avec votre action de test activée, ou ouvrez l'Assistant sur votre appareil.
- Énoncez ou saisissez une requête associée à cet intent intégré. Par exemple : "Je veux jouer à un jeu."
- Dans la boîte de dialogue de sélection d'applications qui s'affiche, recherchez votre action.
- Sélectionnez votre application pour lui envoyer un intent.
Bonnes pratiques d'utilisation des intents intégrés
Vous devez suivre ces bonnes pratiques lorsque vous utilisez des intents intégrés:
- Mapper des intents intégrés à des actions spécifiques: lorsqu'un intent intégré spécifique
déclenche votre action, redirige l'utilisateur vers l'intent spécifique
les fonctionnalités de l'action
avec le moins de friction possible. Pour
exemple, si votre action est compatible avec l'intent intégré
PLAY_GAME
et reçoit cet intent, vous devez rediriger immédiatement l'utilisateur vers la fonctionnalité de jeu de votre action. Évitez de demander à l'utilisateur s'il veut jouer à un jeu. - Gérer les paramètres d'intent intégré: assurez-vous d'utiliser l'intent intégré. que l'Assistant envoie à votre traitement. Évitez de demander à nouveau ces valeurs à l'utilisateur.