Les actions de conversation seront abandonnées le 13 juin 2023. Pour en savoir plus, consultez Abandon de la fonctionnalité Conversation.

Intents intégrés (Dialogflow)

Un intent intégré est un identifiant unique que vous pouvez spécifier pour indiquer à l'Assistant Google que votre action peut répondre à une catégorie spécifique de requêtes utilisateur. Voici quelques exemples de requêtes utilisateur que l'Assistant met en correspondance avec des intents intégrés:

  • Intent intégré"Jouer au jeu": "Ok Google. Jouer à un jeu de mémoire"
  • Intention intégrée "Obtenir l'horoscope": "Hey Google. Obtenez mon horoscope"

Pendant la découverte 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 aux utilisateurs votre action. Pour minimiser les allers-retours des conversations, l'Assistant tente également d'analyser les paramètres des requêtes des utilisateurs et de les transmettre à votre action.

Pour obtenir la liste complète des intents intégrés compatibles avec l'Assistant, y compris leurs paramètres et des exemples de requêtes utilisateur, consultez la 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 d'intégrer des intents intégrés.

Dialogflow

Si vous utilisez Dialogflow pour créer votre action, vous pouvez associer un intent intégré sous forme graphique à partir de la console Dialogflow.

Pour associer un intent intégré à Dialogflow, procédez comme suit:

  1. Ouvrez la console Dialogflow, sélectionnez votre agent, puis accédez à l'écran Intents.
  2. Créez ou sélectionnez l'intent déclenché par votre agent lorsqu'il reçoit un intent intégré spécifique. Ouvrez la section Événements, puis cliquez sur Ajouter un événement.

    Figure 1 : Ajouter un événement Dialogflow dans la console Dialogflow.
  3. Dans le champ Événements, saisissez le nom d'un événement d'intent intégré pour votre agent (par exemple, actions_intent_PLAY_GAME).

    Figure 2 : Associer un intent intégré à votre agent dans la console Dialogflow.
  4. Cliquez sur Enregistrer.

SDK Actions

Si vous utilisez le SDK Actions pour créer votre action, vous devez spécifier le mappage entre les intents intégrés et les actions de votre package d'action.

Pour associer un intent intégré au SDK Actions, procédez comme suit:

  1. Spécifiez l'intent intégré dans le champ de nom de la définition de Action.
  2. Importez le package d'actions dans votre projet Actions à l'aide de l'outil gactions, comme décrit dans la présentation du SDK Actions.

Par exemple, l'extrait de code suivant montre comment ajouter l'intent intégré CHECK_AIR_QUALITY:

{
   "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 recevoir des paramètres supplémentaires. Le schéma d'intent définit les noms des paramètres et leurs types en tant que types primitifs ou entités schema.org. 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 gère le remplissage des paramètres avec des valeurs si celles-ci peuvent être extraites à partir de l'appel intégré de l'utilisateur.

Par exemple, le schéma de l'intent intégré actions.intent.CHECK_AIR_QUALITY définit quatre paramètres facultatifs:

Nom du paramètre Type
attributes Une valeur de chaîne.
location Un objet schema.org/Place
temporalCoverage Un objet schema.org/Duration
timeIndicator Une EnumeratedDuration (extension spécifique à Google)

L'extrait de code suivant présente un exemple de requête 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 la valeur schema.org/Place pour "San Francisco".
  • Le paramètre temporalCoverage contient la valeur schema.org/Duration correspondant à la date de demain par rapport à l'heure de l'appel.
  • Il n'existe aucune valeur pour les paramètres attributes et timeIndicator, car l'expression d'appel de l'utilisateur n'a pas inclus ces informations.

Si vous utilisez la bibliothèque cliente Actions on Google pour Node.js, 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:

  1. Ouvrez le simulateur Actions avec votre action de test activée ou ouvrez l'Assistant sur votre appareil.
  2. Énoncez ou saisissez une requête associée à cet intent intégré. Par exemple, "Je veux jouer à un jeu."
  3. Dans la boîte de dialogue de sélection de l'application qui s'affiche, recherchez votre action.
  4. Sélectionnez votre application pour lui envoyer un intent.
Figure 3. Boîte de dialogue de sélection d'actions résultant
d'une expression d'intent intégrée.
Figure 4 : Appeler une action associée à un intent intégré.

Bonnes pratiques d'utilisation des intents intégrés

Vous devez suivre ces bonnes pratiques lorsque vous utilisez des intents intégrés:

  • Associer des intents intégrés à des actions spécifiques: lorsqu'un intent intégré spécifique déclenche votre action, redirigez l'utilisateur vers l'intent et les fonctionnalités spécifiques de votre action avec un minimum de friction. Par exemple, si votre action est compatible avec l'intent intégré PLAY_GAME et la reçoit, vous devez immédiatement rediriger l'utilisateur vers la fonctionnalité de jeu de votre action. Évitez de redemander à l'utilisateur s'il souhaite jouer à un jeu.
  • Gérer les paramètres d'intent intégrés: veillez à utiliser les valeurs de paramètre d'intent intégrées que l'Assistant envoie à votre traitement. Évitez d'inviter à nouveau ces valeurs à l'utilisateur.