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

Créer des projets

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Un projet Actions regroupe toutes vos actions dans un seul conteneur. Vous publiez ce projet dans Actions on Google afin que l'Assistant Google sache comment découvrir et appeler vos expériences de conversation.

Composants du projet Actions
Figure 1. Structure du projet Actions

Vous allez utiliser les composants de bas niveau suivants pour créer votre projet Actions:

  • Les paramètres et ressources définissent les métadonnées et les ressources du projet, comme les icônes du projet. Google utilise ces informations pour publier vos actions dans l'annuaire de l'Assistant, afin que les utilisateurs puissent les découvrir et les appeler.

  • Les intents représentent une tâche à effectuer, telle qu'une entrée utilisateur ou un événement système à traiter. Les intents utilisateur sont le type d'intent le plus courant. Ces intents vous permettent de déclarer des phrases d'entraînement qui sont naturellement développées par le moteur de compréhension du langage naturel (NLU, Natural Language Understanding) afin d'inclure beaucoup plus d'expressions similaires. La NLU utilise l'agrégation de ces expressions pour entraîner un modèle de langage que l'Assistant utilise pour faire correspondre l'entrée utilisateur. Au cours d'une conversation, si une entrée utilisateur correspond au modèle de langage de l'intent, l'environnement d'exécution de l'Assistant envoie l'intent à votre action, afin qu'il puisse la traiter et répondre à l'utilisateur.

  • Les types vous permettent d'extraire des données structurées des entrées utilisateur. En annotant des phrases d'entraînement avec des types, le NLU peut extraire des données structurées pertinentes pour vous. Vous n'avez donc pas besoin d'analyser des entrées ouvertes.

  • Les scènes traitent les intents et sont les principaux exécuteurs logiques pour vos actions. Ils peuvent effectuer le remplissage de cases, évaluer la logique conditionnelle, renvoyer des invites à l'utilisateur et même faire appel à des services Web externes pour exécuter la logique métier. Associées aux intents, les scènes vous permettent de détecter efficacement les entrées utilisateur spécifiques ou les événements système, et d'exécuter la logique correspondante.

  • Les invites définissent les réponses statiques ou dynamiques que vous utilisez pour répondre aux utilisateurs.

  • Les Webhooks vous permettent de déléguer un travail supplémentaire à des services Web (fulfillment), tels que la validation de données ou la génération d'invites. Vos actions communiquent avec votre fulfillment via un protocole webhook JSON.

  • Le canevas interactif vous permet de créer des expériences riches et immersives avec des applications Web utilisant du code HTML, CSS et JavaScript.

Créer un projet

Vous devez créer un projet dans la console Actions avant de pouvoir développer pour l'Assistant Google. Pour créer un projet :

  1. Accédez à la console Actions.
  2. Cliquez sur Nouveau projet.
  3. Saisissez un nom pour votre projet, puis cliquez sur Créer un projet.
  4. Sur l'écran Quel type d'action souhaitez-vous créer ?, sélectionnez la catégorie qui représente le mieux votre projet, puis cliquez sur Suivant.
  5. Sur l'écran Comment souhaitez-vous le créer ?, sélectionnez une méthode de compilation, puis cliquez sur Commencer la compilation. Par exemple, vous pouvez commencer avec un projet vide ou avec un exemple.

Créer un projet SDK Actions local

Une fois que vous avez créé un projet Actions dans la console Actions, vous pouvez initialiser un projet dans votre environnement de développement local.

Pour initialiser un projet SDK Actions à partir d'un projet Actions existant, procédez comme suit:

  1. Créez un répertoire vide pour le projet Actions sur votre système de fichiers local.
  2. Dans ce répertoire vide, créez un répertoire sdk.
  3. Remplacez votre répertoire de travail par le répertoire sdk de votre terminal.

Commencer avec un projet vide

Si vous souhaitez démarrer à partir du projet vide que vous venez de créer dans la console, exécutez gactions pull --project-id <my-project-id>.

$ mkdir myAction
$ cd myAction
$ mkdir sdk
$ cd sdk
$ gactions pull --project-id my-project-id
Pulling your project files from Draft for a project id: "my-project-id"
✔ Done. You should see the files written in path/to/myAction/sdk

Commencer avec un exemple de projet

Si vous souhaitez démarrer à partir d'un exemple de projet, exécutez gactions init <sample name>.

$ mkdir actions-test
$ cd actions-test
$ mkdir sdk
$ cd sdk
$ gactions init question
Writing sample files for question.
✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.

Définir les informations du projet

Les paramètres et les ressources de votre projet définissent des informations le concernant, telles que la compatibilité des fonctionnalités et des surfaces, les paramètres régionaux compatibles, le nom à afficher, la description, les logos, etc. Le tableau suivant décrit les principaux paramètres et ressources que vous fournissez. Actions on Google utilise ces informations pour déployer et publier votre projet dans le répertoire de l'Assistant.

Nom Description
Informations de l'annuaire Fournit des informations permettant à Actions on Google de publier votre projet dans l'annuaire de l'Assistant. Inclut des métadonnées et des descriptions concernant votre projet et vos ressources d'images pour les logos et les bannières.
Ciblage géographique Configure les paramètres régionaux dans lesquels vos actions sont disponibles.
Capacités de surface Configure les surfaces sur lesquelles vos actions sont disponibles.
Informations détaillées sur l'entreprise Spécifie les coordonnées de votre entreprise.
Validation de la marque Associez un site Web ou une application Android qui vous appartient pour bénéficier d'avantages supplémentaires, tels que des noms d'appels réservés et des liens vers des sites Web dans vos actions.
Release Configure différentes versions de test et de production pour votre action à des fins de test et de production.
Associations à l'Assistant Autorisez les utilisateurs à appeler vos actions depuis vos propriétés Web.

Pour définir les informations du projet:

  1. Définissez les paramètres généraux de votre projet Actions dans sdk/settings/settings.yaml. Consultez la documentation de référence sur les paramètres pour connaître les valeurs acceptées.

    L'extrait suivant présente un exemple de fichier sdk/settings/settings.yaml :

    accountLinking:
      enableAccountCreation: true
      linkingType: GOOGLE_SIGN_IN
    category: GAMES_AND_TRIVIA
    projectId: my-project-id
    ...
    

  2. Définissez les paramètres pouvant varier en fonction des paramètres régionaux de l'utilisateur (par exemple, des expressions d'appel dans différentes langues) dans un fichier sdk/settings/<locale>/settings.yaml, en remplaçant les paramètres régionaux par vos paramètres régionaux cibles.

    Consultez la documentation de référence sur LocalizedSettings pour connaître les valeurs acceptées.

    L'extrait suivant est un exemple de paramètres anglais définis dans un fichier sdk/settings/en/settings.yaml:

    localizedSettings:
      developerEmail: developer@developers.com
      developerName: Developer Name
      displayName: My Display Name
      fullDescription: full description of the action
      largeBannerImage: https://path/to/large/banner
      privacyPolicyUrl: http://path/to/privacy/policy
      sampleInvocations:
      - Talk to My Display Name
      shortDescription: short description of the action
      smallLogoImage: https://path/to/small/logo
      voice: female_1
    ...
    

Ajouter des ressources

Vous pouvez stocker des ressources telles que des fichiers image, des fichiers audio et des chaînes dans votre projet Actions et les référencer à partir de fichiers de configuration (par exemple, des définitions ou des conditions d'invite) à l'aide de la variable $resources définie par le système.

Les ressources du projet sont stockées sous resources/ et un type de ressource est attribué à chaque type de ressource dans le répertoire.

Vous pouvez localiser les ressources en créant des dossiers spécifiques aux paramètres régionaux dans le dossier du type de ressource. Par exemple, vous pouvez stocker les versions espagnoles de vos chaînes dans resources/strings/es/<filename>.yaml.

Images

Les fichiers image sont stockés dans resources/images/. Vous pouvez les référencer avec $resources.images.<name of the image file without file extension>. Les extensions de fichier autorisées sont les suivantes:

  • gif
  • png
  • jpg
  • jpeg

Par exemple, si la version anglaise du petit logo est enregistrée dans resources/images/en/square.png et que la version anglaise de la grande bannière est enregistrée dans resources/images/en/landscape.jpg, respectivement, sdk/settings/en/settings.yaml de l'exemple précédent devient:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: Developer Name
  displayName: My Display Name
  fullDescription: full description of the action

  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: http://path/to/privacy/policy
  sampleInvocations:
  - Talk to My Display Name
  shortDescription: short description of the action

  smallLogoImage: $resources.images.square
  voice: female_1
...

Fichiers audio

Les fichiers audio sont stockés dans resources/audio/. Vous pouvez les référencer avec $resources.audio.<name of the audio file without file extension>.

Les extensions de fichier autorisées sont les suivantes:

  • mp3
  • mpeg

Par exemple, vous pouvez référencer des enregistrements audio à partir d'invites:

candidates:
  - first_simple:
      variants:
        - speech: your speech response
    content:
      media:
        mediaType: audio
        mediaObjects:
          - name: media name
            description: media description
            url: $resources.audio.intro

Strings

Les chaînes sont stockées dans resources/strings/ en tant que fichiers .yaml. Chaque fichier contient un mappage de clés de chaîne et de valeurs associées, qui peuvent être des chaînes uniques ou des listes de chaînes. Vous pouvez référencer les valeurs à l'aide de $resources.strings.<name of the image file without file extension>.<key> pour les valeurs de chaîne unique ou pour obtenir une valeur aléatoire à partir d'une liste, et de $resources.strings.<name of the image file without file extension>.<key>.<numerical index> pour une valeur de chaîne spécifique dans une liste.

Par exemple, en utilisant des chaînes de ressources pour la localisation de chaînes, sdk/settings/en/settings.yaml de l'exemple précédent peut devenir:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: $resources.strings.appinfo.developerName
  displayName: $resources.strings.appinfo.displayName
  fullDescription: $resources.strings.appinfo.fullDescription
  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl
  sampleInvocations:
  - $resources.strings.invocations.sample
  shortDescription: $resources.strings.appinfo.shortDescription
  smallLogoImage: $resources.images.square
  voice: female_1
...

Tester des projets dans le simulateur

La console Actions fournit un simulateur dans lequel vous pouvez prévisualiser vos actions. Le simulateur vous permet de voir les informations de débogage, de définir les capacités de l'appareil, de simuler des paramètres régionaux, etc.

Figure 3 : Principaux domaines du simulateur: (1) entrée utilisateur, (2) vue de l'appareil, (3) options et paramètres, et (4) journal de conversation.

Pour tester un projet:

  1. Exécutez gactions deploy preview pour déployer votre action pour "prévisualiser" et activer les tests dans le simulateur.
  2. Ouvrez l'URL affichée dans le résultat de la commande pour accéder au simulateur.
$ gactions deploy preview
Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview