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.
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 :
- Accédez à la console Actions.
- Cliquez sur Nouveau projet.
- Saisissez un nom pour votre projet, puis cliquez sur Créer un projet.
- 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.
- 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:
- Créez un répertoire vide pour le projet Actions sur votre système de fichiers local.
- Dans ce répertoire vide, créez un répertoire
sdk
. - 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:
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 ...
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.

Pour tester un projet:
- Exécutez
gactions deploy preview
pour déployer votre action pour "prévisualiser" et activer les tests dans le simulateur. - 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