1. Présentation
La plate-forme pour les développeurs de l'Assistant Google vous permet de créer des logiciels visant à étendre les fonctionnalités de cet assistant personnel virtuel sur plus d'un milliard d'appareils (enceintes intelligentes, téléphones, voitures, téléviseurs, casques audio, etc.). Cet assistant simplifie la vie des utilisateurs qui lui demandent d'accomplir des tâches (par exemple, faire des courses, réserver un chauffeur, etc.). En tant que développeur, vous pouvez utiliser la plate-forme de développement de l'Assistant pour créer et gérer facilement des échanges agréables et efficaces entre les utilisateurs et votre propre service de traitement tiers.
Cet atelier de programmation aborde les concepts de niveau intermédiaire du développement avec l'Assistant Google, Cloud Functions et Cloud Firestore. Dans cet atelier de programmation, vous allez créer un jeu appelé "Spelling Practice" (Entraînement à l'orthographe) qui utilise l'Assistant Google pour demander aux utilisateurs d'épeler des mots.
Objectifs de l'atelier
Dans cet atelier de programmation, vous allez créer un jeu sophistiqué avec les fonctionnalités suivantes :
- Recevoir les réponses orthographiques de l'utilisateur et modifier les invites de conversation en fonction de la valeur
- répond en donnant des indices sur l'orthographe du mot, comme sa définition ou en répétant le mot.
- Créer une boucle de jeu pour que l'utilisateur puisse interagir à nouveau avec l'Assistant après avoir épelé le mot
Avant de commencer à créer cette action, vous pouvez interagir avec l'action en direct sur votre appareil avec l'Assistant Google intégré en disant "Hey Google, parle à Spelling Practice". La conversation par défaut via cette action pour un utilisateur connu ressemble à l'interaction suivante :
Une fois votre action finalisée, la conversation se présentera comme suit :
Points abordés
- Interagir avec Cloud Firestore
- Utiliser des emplacements pour collecter des données auprès de l'utilisateur
- Traiter l'entrée utilisateur et y répondre
- Utiliser des conditions pour ajouter une logique à une scène
- Ajouter une boucle de jeu
Prérequis
Les prérequis pour cet atelier de programmation sont les suivants :
- Un navigateur Web, tel que Google Chrome
- Un IDE pour écrire des fonctions Cloud Functions.
- Un mode de paiement Cet atelier de programmation utilise Cloud Functions for Firebase, qui nécessite que votre projet soit associé au forfait Blaze de Firebase ( en savoir plus).
- Un terminal permettant d'exécuter des commandes shell
- Node.js 10 ou version ultérieure
2. Obtenir le code des fonctions
Clonez le dépôt GitHub à partir de la ligne de commande :
$ git clone https://github.com/FirebaseExtended/codelab-actions-firestore
3. Créer un projet Firebase et configurer votre application
Créer un projet Firebase
- Connectez-vous à Firebase.
- Dans la console Firebase, cliquez sur Ajouter un projet (ou Créer un projet), puis nommez votre projet Firebase
Spelling-Practice
.
- Cliquez sur les options de création de projet. Si vous y êtes invité, acceptez les conditions d'utilisation de Firebase. Passez l'étape de configuration de Google Analytics, car vous n'en aurez pas besoin pour cette application.
Pour en savoir plus sur les projets Firebase, consultez Comprendre les projets Firebase.
Passer au forfait Blaze
Pour utiliser Cloud Functions for Firebase, vous devez passer à la formule Blaze pour votre projet Firebase, ce qui signifie que vous devrez associer un compte de facturation Google Cloud à votre projet. Pour cela, vous devez fournir une carte de crédit ou un autre mode de paiement.
Tous les projets Firebase, y compris ceux qui utilisent le forfait Blaze, ont toujours accès aux quotas d'utilisation sans frais pour Cloud Functions. Les étapes décrites dans cet atelier de programmation respecteront les limites d'utilisation sans frais. Toutefois, vous verrez de petits frais ( environ 0,03 $) de Cloud Storage, qui est utilisé pour héberger vos images de compilation Cloud Functions.
4. Installer la CLI Firebase
La CLI (interface de ligne de commande) Firebase vous permet de déployer vos fonctions Cloud.
Il existe plusieurs options pour installer la CLI Firebase en fonction de votre système d'exploitation et de votre cas d'utilisation. Les étapes suivantes décrivent l'option la plus courante si vous utilisez également Cloud Functions.
- Assurez-vous d'avoir installé npm, qui est généralement fourni avec Node.js.
- Installez ou mettez à niveau la CLI en exécutant la commande npm suivante :
$ npm -g install firebase-tools
- Pour vérifier que la CLI a bien été installée, exécutez la commande suivante :
$ firebase --version
Assurez-vous de disposer de la version 9.0.0 (ou d'une version ultérieure) de la CLI Firebase pour être certain de bénéficier des toutes dernières fonctionnalités requises pour Cloud Functions. Si ce n'est pas le cas, exécutez npm install -g firebase-tools pour effectuer la mise à niveau, comme indiqué ci-dessus.
- Autorisez la CLI Firebase en exécutant la commande suivante :
$ firebase login
- À partir du répertoire spelling-functions-start, configurez la CLI Firebase pour utiliser votre projet Firebase. Exécutez la commande suivante, sélectionnez l'ID de votre projet, puis suivez les instructions. Lorsque vous y êtes invité, vous pouvez choisir n'importe quel alias, par exemple
codelab
.
$ firebase use --add
5. Répertoire des fonctions
Vous allez maintenant ajouter des fonctionnalités à l'aide du SDK Firebase pour Cloud Functions afin de créer le backend du jeu Spelling Practice.
Cloud Functions vous permet d'exécuter votre code dans le cloud sans configurer de serveur. Cet atelier de programmation vous montrera comment créer des fonctions qui réagissent aux événements Firebase Authentication, Cloud Storage et Firebase Realtime Database. Commençons par l'authentification.
Par défaut, le SDK Firebase pour Cloud Functions stocke le code Functions dans le répertoire functions
. Pour vous faciliter la tâche, nous avons déjà créé le fichier functions/index.js
dans lequel votre code sera placé. N'hésitez pas à inspecter le répertoire functions
avant de continuer.
$ cd functions $ ls
Votre code Functions est aussi une application Node.js. De ce fait, il a besoin d'un package.json
pour obtenir des informations sur votre application et connaître ses dépendances.
Si vous ne connaissez pas Node.js, il est préférable de vous renseigner à son sujet avant de poursuivre l'atelier de programmation.
Le fichier package.json
répertorie déjà deux dépendances obligatoires : le SDK Firebase pour Cloud Functions et le SDK Admin Firebase. Pour les installer en local, exécutez npm install
à partir du répertoire functions
:
$ npm install
Examinons maintenant le fichier index.js
:
index.js
/** * Copyright 2021 Google Inc. All Rights Reserved. * ... */ // TODO(DEVELOPER): Import the Cloud Functions for Firebase and Firebase Admin modules here. Also import the Actions SDK here. // TODO(DEVELOPER): Write the getWordDetailsFromDictionaryAPI function here. // TODO(DEVELOPER): Write the createSpellingPracticeWord function here. // TODO(DEVELOPER): Write the app Handle getSpellingWordList function here. // TODO(DEVELOPER): Write the app Handle getSpellingWord function here. // TODO(DEVELOPER): Write the app Handle repeatSpellingWord function here. // TODO(DEVELOPER): Write the app Handle definitionOfSpellingWord function here. // TODO(DEVELOPER): Write the app Handle verifySpellingWord function here.
Vous allez d'abord importer les modules requis, puis écrire quatre fonctions à la place des TODO. Passez à l'étape suivante de l'atelier de programmation pour importer les modules.
6. Importer les modules requis
Cet atelier de programmation nécessite trois modules.
- Le module
firebase-functions
nous permet d'écrire les déclencheurs pour nos fonctions Cloud. - Le module
firebase-admin
nous permet d'utiliser la plate-forme Firebase sur un serveur avec un accès administrateur, par exemple pour écrire dans Cloud Firestore. - La bibliothèque de traitement Node.js du SDK Actions traite les gestionnaires du SDK Actions pour l'Assistant Google.
- Installez le SDK Actions en exécutant la commande npm suivante :
$ npm install @assistant/conversation
- Dans le fichier
index.js
, remplacez le premier TODO par ce qui suit.
Ces modifications importent chacun des modules requis.
De plus, le SDK Admin Firebase peut être configuré automatiquement lorsqu'il est déployé dans un environnement Cloud Functions ou un autre conteneur Google Cloud. C'est ce qui se passe lorsque nous appelons admin.initializeApp();
dans les modifications ci-dessous.
index.js
/** * Copyright 2021 Google Inc. All Rights Reserved. * ... */ // Import the Actions SDK const {conversation} = require('@assistant/conversation'); const https = require('https'); const app = conversation(); const cors = require('cors')({origin: true}); // Import the Firebase SDK for Cloud Functions. const functions = require('firebase-functions'); // Import and initialize the Firebase Admin SDK. const admin = require('firebase-admin'); admin.initializeApp(); // To access Cloud Firestore const db = admin.firestore(); // TODO(DEVELOPER): Write the getWordDetailsFromDictionaryAPI function here. // TODO(DEVELOPER): Write the createSpellingPracticeWord function here. // TODO(DEVELOPER): Write the shuffleWordList function here. // TODO(DEVELOPER): Write the app Handle getSpellingWordList function here. // TODO(DEVELOPER): Write the app Handle getSpellingWord function here. // TODO(DEVELOPER): Write the app Handle repeatSpellingWord function here. // TODO(DEVELOPER): Write the app Handle definitionOfSpellingWord function here. // TODO(DEVELOPER): Write the app Handle verifySpellingWord function here.
Ajoutons maintenant une logique métier à l'aide de fonctions pour prendre en charge les actions de l'Assistant.
7. Créer des fonctions
Obtenir les définitions des mots et les écrire dans Cloud Firestore
Vous utiliserez l'API publique dictionaryapi.dev
pour obtenir les définitions des mots.
Dans le fichier index.js
, remplacez le TODO pour getWordDetailsFromDictionaryAPI
par ce qui suit :
index.js
// Retrieves word definition and audio pronunciation from api.dictionaryapi.dev service // Function uses service provided by https://dictionaryapi.dev/ async function getWordDetailsFromDictionaryAPI(word) { let responseData=""; let req = https.request({ host: 'api.dictionaryapi.dev', port: 443, path:'/api/v2/entries/en/' + word, method:'GET' }, (res) => { res.setEncoding('utf8'); res.on('data', d => { responseData+=d; }) res.on('end',function(){ let object = JSON.parse(responseData) const wordListRef = db.collection('wordlist'); wordListRef.doc(object[0].word).set( object[0] ); return responseData; }); }); req.end(); }
Ajouter un déclencheur Cloud Firestore
Vous allez ensuite créer une fonction Cloud qui se déclenche chaque fois qu'un document est créé dans Cloud Firestore. Il appellera l'API dictionaryapi.dev
pour obtenir des définitions de mots via la fonction getWordDetailsFromDictionaryAPI
que nous avons écrite juste au-dessus.
Dans le fichier index.js
, remplacez le TODO pour createSpellingPracticeWord
par ce qui suit :
index.js
// Firestore trigger that fetches word definitions through getWordDetailsFromDictionaryAPI for every new Firestore document
exports.createSpellingPracticeWord = functions.firestore .document('wordlist/{word}') .onCreate((snap, context) => { const newValue = snap.data(); const word = newValue.word; getWordDetailsFromDictionaryAPI(word); });
Obtenir une liste de mots pour le jeu
Vous pouvez écrire une fonction Cloud qui récupère une liste de mots à pratiquer pour l'orthographe depuis Cloud Firestore pour l'Assistant. Pour cela, nous utilisons le gestionnaire d'application.
Dans le fichier index.js
, remplacez le TODO pour getSpellingWordList
par ce qui suit.
Ajouter cette fonction à l'objet spécial app.handle
permet de rendre la fonction accessible depuis l'Assistant.
index.js
// Store the list of spelling words in Assistant session app.handle('getSpellingWordList', conv => { const wordListRef = db.collection('wordlist').limit(50); const snapshot = wordListRef; if (snapshot.empty) { console.log('No matching documents.'); return; } VocabularyList = [] return snapshot.get().then(snapshot => { snapshot.forEach(doc => { if (doc.data().word) { let definition = 'unknown'; let audio = 'unknown'; try { if(doc.data().hasOwnProperty('meanings')) { if(doc.data().meanings[0].hasOwnProperty('definitions')) { definition = doc.data().meanings[0].definitions[0].definition; } } if(doc.data().hasOwnProperty('phonetics')) { if(doc.data().phonetics.length > 0) audio = doc.data().phonetics[0].audio; } } catch (error) { console.log(error); } let obj = { word: doc.data().word, answer: doc.data().word.split("").join(" "), definition: definition, audio: audio } VocabularyList.push(obj); } // Shuffle the array let currentIndex = VocabularyList.length, temporaryValue, randomIndex; while (0 !== currentIndex) { randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1; temporaryValue = VocabularyList[currentIndex]; VocabularyList[currentIndex] = VocabularyList[randomIndex]; VocabularyList[randomIndex] = temporaryValue; } conv.session.params.vocabWord = VocabularyList; conv.session.params.vocabWordIndex = 0; }); }); })
Obtenir un mot de l'Assistant
Vous pouvez écrire une fonction Cloud qui renvoie le prochain mot à épeler de la liste de mots.
Dans le fichier index.js
, remplacez le TODO pour getSpellingWord
par ce qui suit :
index.js
// Returns a spelling practice word to Google Assistant and uses Speech Synthesis Markup Language (SSML) to format the response app.handle('getSpellingWord', conv => { if (!conv.session.params.vocabWord.empty) { conv.session.params.vocabWordIndex+=1; const ssml = '<speak>' + '<audio src="'+ conv.session.params.vocabWord[conv.session.params.vocabWordIndex].audio +'">Use phonetics to spell the word.</audio> ' + '</speak>'; conv.add(ssml); } else conv.add('Great job! You completed the Spelling practice'); });
Autoriser le jeu à répéter le mot
Vous pouvez écrire une fonction Cloud qui répète le mot actuel du jeu.
Dans le fichier index.js
, remplacez le TODO pour repeatSpellingWord
par ce qui suit :
index.js
// Returns current spelling word app.handle('repeatSpellingWord', conv => { if (!conv.session.params.vocabWord.empty) { const ssml = '<speak>' + '<audio src="'+ conv.session.params.vocabWord[conv.session.params.vocabWordIndex].audio +'">Use phonetics to spell the word. </audio> ' + '</speak>'; conv.add(ssml); } else conv.add('Great job! You completed the Spelling practice'); });
Obtiens la définition du mot
Vous pouvez écrire une fonction Cloud qui fournit la définition du mot actuel pour le jeu.
Dans le fichier index.js
, remplacez le TODO pour definitionOfSpellingWord
par ce qui suit :
index.js
// Returns spelling word definition from Assistant session parameter app.handle('definitionOfSpellingWord', conv => { conv.add( 'It means ' + conv.session.params.vocabWord[conv.session.params.vocabWordIndex].definition); });
Vérifier l'orthographe de la réponse de l'utilisateur
Vous pouvez écrire une fonction Cloud qui vérifie la réponse de l'utilisateur sur l'orthographe du mot actuel du jeu.
Dans le fichier index.js
, remplacez le TODO pour verifySpellingWord
par ce qui suit :
index.js
// Verifies user spelling response app.handle('verifySpellingWord', conv => { try { userResponse = conv.intent.params.userresponse.resolved.join(""); if (userResponse.toLowerCase() === conv.session.params.vocabWord[conv.session.params.vocabWordIndex].word.toLowerCase()) { conv.add('You are correct. Say next to continue.'); } else { conv.add('Sorry, wrong answer. The correct answer is ' + conv.session.params.vocabWord[conv.session.params.vocabWordIndex].answer + ' . Say next to continue.'); } } catch (error) { conv.add('Sorry. I did not understand your response' ); } }); exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
Déployer toutes vos fonctions
Vos fonctions Cloud ne seront actives qu'une fois que vous les aurez déployées sur Firebase.
À partir de la racine du répertoire spelling-functions-start
, exécutez la commande suivante :
$ firebase deploy --only functions
La console doit afficher le résultat suivant :
i deploying functions i functions: ensuring necessary APIs are enabled... ⚠ functions: missing necessary APIs. Enabling now... i env: ensuring necessary APIs are enabled... ⚠ env: missing necessary APIs. Enabling now... i functions: waiting for APIs to activate... i env: waiting for APIs to activate... ✔ env: all necessary APIs are enabled ✔ functions: all necessary APIs are enabled i functions: preparing functions directory for uploading... i functions: packaged functions (X.XX KB) for uploading ✔ functions: functions folder uploaded successfully i starting release process (may take several minutes)... i functions: creating function createSpellingPracticeWord(us-central1)... ✔ functions[createSpellingPracticeWord(us-central1)]: Successful create operation. i functions: creating function ActionsOnGoogleFulfillment(us-central1)... ✔ functions[ActionsOnGoogleFulfillment(us-central1)]: Successful create operation. ✔ Deploy complete! Project Console: https://console.firebase.google.com/project/spelling-practice-1234/overview
Notez l'URL du point de terminaison HTTP de la fonction ActionsOnGoogleFulfillment pour l'utiliser ultérieurement. Pour obtenir le point de terminaison, ouvrez la console Firebase, puis cliquez sur le projet spelling-practice. Ouvrez le tableau de bord Functions pour afficher le point de terminaison des fonctions.
Vous avez terminé d'ajouter toutes les fonctions requises. Passons maintenant à la configuration de Cloud Firestore.
8. Activer Cloud Firestore
Vous devez activer Cloud Firestore.
Dans la section Créer de la console Firebase, cliquez sur Firestore. Cliquez ensuite sur Créer une base de données.
L'accès aux données dans Cloud Firestore est contrôlé par des règles de sécurité. Pour commencer, vous devez définir des règles de base sur les données. Cliquez sur Firestore, puis dans l'onglet "Règles" de la console Firebase, ajoutez les règles suivantes, puis cliquez sur Publier.
Les règles suivantes limitent l'accès aux données aux utilisateurs connectés, ce qui empêche les utilisateurs non authentifiés de lire ou d'écrire des données.
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { // // WARNING: These rules are insecure! We will replace them with // more secure rules later in the codelab // allow read, write: if request.auth != null; } } }
9. Ajouter des données de mots à épeler à Cloud Firestore
Dans cette étape, vous allez écrire des données de mots d'orthographe dans Cloud Firestore afin de pouvoir générer une liste de mots pour l'Assistant (et le jeu).
Les données Cloud Firestore sont structurées en collections, documents, champs et sous-collections. Chaque mot du jeu sera stocké en tant que document dans une collection de premier niveau appelée wordlist
. Pour chaque nouveau document de la collection Firestore, la fonction createSpellingPracticeWord est déclenchée pour obtenir les détails du mot à partir du service d'API Dictionary.
Créer une collection Cloud Firestore
- Dans la console Firebase, accédez à la section "Cloud Firestore".
- Cliquez sur + Commencer une collection.
- Dans la zone de texte ID de collection, saisissez
wordlist
, puis cliquez sur Suivant.
Nous allons ensuite créer un document pour le mot accord.
- Dans la zone de texte ID du document, saisissez
agreement
. - Dans la zone de texte Champ, saisissez
word
, puis dans la zone de texte Valeur, saisissezagreement
. - Cliquez sur Enregistrer.
Lorsque vous ajoutez ce document à Cloud Firestore, il déclenche votre fonction createSpellingPracticeWord pour récupérer les informations de définition du mot. Ajoutez d'autres mots (par exemple, "voiture", "vrai", "dire", "mieux", "trajet", etc.) en créant un document pour chacun d'eux.
10. Configurer l'Assistant Google
Les sections suivantes expliquent comment configurer un environnement de développement de l'Assistant Google et créer un projet Actions.
Vérifier vos paramètres d'autorisation Google
Pour tester l'action que vous allez créer dans cet atelier de programmation, vous devez accorder les autorisations nécessaires pour que le simulateur puisse y accéder. Pour activer les autorisations, procédez comme suit :
- Accédez à la page Commandes relatives à l'activité.
- Connectez-vous à votre compte Google (si ce n'est pas déjà fait).
- Activez les autorisations suivantes :
- Activité sur le Web et les applications
- Sous Activité sur le Web et les applications, cochez la case Inclure l'historique Chrome et l'activité liée aux sites, aux applications et aux appareils qui utilisent les services Google.
Créer un projet Actions
Votre projet Actions est un conteneur associé à votre action. Pour créer votre projet Actions pour cet atelier de programmation :
- Ouvrez la console Actions.
- Cliquez sur Nouveau projet.
- Accepter les conditions d'utilisation
- Saisissez ou sélectionnez
spelling-practice-codelab
que vous avez créé à l'aide de la console Firebase. Ce nom interne est utilisé à titre de référence. Par la suite, vous pourrez définir un nom externe pour votre projet.)
- Cliquez sur Importer le projet.
- Sur l'écran What kind of Action do you want to build? (Quel type d'action voulez-vous créer ?), sélectionnez la fiche Custom (Personnalisée).
- Cliquez sur Suivant.
- Sélectionnez la fiche Blank project (Projet vide).
- Cliquez sur Start building (Commencer).
- Saisissez Exercice d'orthographe comme nom à afficher, puis cliquez sur "Enregistrer".
L'utilisateur appelle votre action pour démarrer une conversation. Par exemple, les utilisateurs peuvent appeler votre action en disant Hey Google, je veux parler à Exercices d'orthographe (Exercices d'orthographe étant le nom à afficher).
Ce nom est obligatoire si vous voulez déployer votre action en production. En revanche, il est facultatif pour la tester. À la place, vous pouvez utiliser l'expression Talk to my test app dans le simulateur pour appeler votre action.
Configurer le fulfillment
Vous devez connecter à l'Assistant les gestionnaires d'événements des fonctions Cloud que vous avez écrites et déployées plus tôt dans cet atelier de programmation.
Pour configurer le traitement, procédez comme suit :
- Cliquez sur Webhook dans le panneau de navigation latéral.
- Sélectionnez Point de terminaison HTTPS comme option d'exécution :
- Saisissez l'URL du point de terminaison de votre fonction dans la zone de texte Point de terminaison HTTPS, puis cliquez sur Enregistrer.
Dans la section suivante, vous allez personnaliser l'invite associée à l'appel principal dans la console Actions.
Configurer l'invocation principale
Vous devez modifier l'appel principal pour définir ce qui se passe après qu'un utilisateur a appelé votre action.
Par défaut, Actions Builder fournit une invite générique au lancement de l'appel (Commencer à créer votre action en définissant l'appel principal).
Pour modifier l'invite que votre action renvoie à l'utilisateur quand il appelle votre action :
- Dans le menu de navigation, cliquez sur Main invocation (Appel principal).
- Cochez
Call your webhook
et ajoutez le nom du gestionnaire d'événementsgetSpellingWordList
dans la zone de texte. - Dans l'éditeur de code, remplacez le texte du champ
speech
par le message de bienvenue suivant :Welcome to Spelling Practice
Remarque : Vous pouvez modifier vos requêtes au format YAML ou JSON.
- Cliquez sur Enregistrer.
Tester l'appel principal dans le simulateur
La console Actions propose un outil Web appelé simulateur pour tester votre action. L'interface simule les appareils et leurs paramètres. Vous pouvez ainsi échanger avec votre action comme si elle était exécutée sur un écran connecté, un téléphone, une enceinte ou KaiOS.
Pour tester l'appel principal de votre action dans le simulateur :
- Dans la barre de navigation en haut de l'écran, cliquez sur Test (Tester) pour accéder au simulateur.
- Pour appeler votre action dans le simulateur, saisissez
Talk to Spelling Practice
dans le champ de saisie en haut à gauche, puis appuyez sur Entrée sur votre clavier.
Lorsque vous lancez l'appel principal de votre action, l'Assistant répond par votre message de bienvenue personnalisé. À ce stade, la conversation se termine une fois que l'Assistant a communiqué ce message.
Afficher les journaux d'événements
Dans l'onglet Test (Tester), le panneau de droite contient les journaux des événements dans lesquels figure l'historique des conversations. Chacun de ces journaux répertorie les événements survenus lors de la conversation. Pour afficher le journal des événements, cliquez sur l'icône grise avant l'événement.
Un seul journal des événements a été créé pour votre action. Il comporte à la fois l'entrée utilisateur (Talk to Spelling Practice) et la réponse de votre action. Vous trouverez ci-dessous une capture d'écran du journal des événements de votre action :
11. Créer la conversation pour l'exercice d'orthographe
Maintenant que vous avez défini ce qui se passe quand un utilisateur appelle votre action, vous pouvez développer le reste de la conversation. Spelling Practice comporte quatre scènes, et vous devez activer chacune d'elles avant qu'elle puisse être exécutée. La méthode la plus courante pour activer une scène consiste à configurer votre action de sorte que, quand une correspondance est établie entre un utilisateur et un intent utilisateur dans une scène, cet intent déclenche la transition vers une autre scène et l'active.
Ajouter une transition entre l'appel principal et la scène de début
Dans cette section, vous allez créer une scène intitulée Start
, qui envoie une invite à l'utilisateur pour lui demander s'il veut commencer à jouer à Spelling Practice (Entraînement à l'orthographe). Vous allez également ajouter une transition entre l'appel principal et cette nouvelle scène Start
.
Pour créer cette scène et y ajouter une transition :
- Dans la barre de navigation en haut de l'écran, cliquez sur Develop (Développer). Dans le panneau de navigation de gauche, cliquez sur Main invocation (Appel principal).
- Dans la section Transition à droite, cliquez sur le menu déroulant, puis saisissez
Start
dans le champ de texte.
- Cliquez sur Ajouter. Vous créez ainsi une scène intitulée
Start
, qui indique à l'action de passer à la scèneStart
après que cette action a envoyé l'invite de bienvenue à l'utilisateur. - Dans le panneau de navigation de gauche, cliquez sur Scènes pour afficher la liste des scènes.
- Sous Scenes (Scènes), cliquez sur Start (Démarrer) pour afficher la scène
Start
. - Dans la section On enter (Lors de l'entrée) de la scène
Start
, cliquez sur +. - Cochez la case Send prompts (Envoyer des invites).
- Remplacez la phrase du champ
speech
(Enter the response that users will see or hear...
) par une question à poser à l'utilisateur :Use phonetic alphabet to spell the word. For example alpha for a, bravo for b, charlie for c etc. Do you want to continue?
Les chips de suggestion proposent à l'utilisateur des suggestions cliquables que votre action traite comme des entrées utilisateur. Dans cette section, vous allez ajouter des chips de suggestion qui s'afficheront sous l'invite que vous venez de configurer (Do you want to play
Spelling Practice
?
) pour aider les utilisateurs sur les appareils avec écran.
Pour ajouter des chips de suggestion à l'invite de la scène Start
:
- Dans la scène
Start
, cliquez sur "Suggestions" sous l'éditeur de code. Un seul chip de suggestion est alors ajouté. - Dans le champ
title
, remplacezSuggested Response
par'Yes'
. - En utilisant la même mise en forme, ajoutez manuellement des chips de suggestion intitulés
'No'
et'Help with Phonetics'
. Le code doit ressembler à l'extrait suivant : - Cliquez sur Enregistrer.
Tester votre action dans le simulateur
À ce stade, votre action devrait passer de l'appel principal à la scène Start, puis demander à l'utilisateur s'il veut continuer. Les chips de suggestion devraient également apparaître sur l'écran de simulation.
Pour tester votre action dans le simulateur :
- Dans la barre de navigation, cliquez sur Test (Tester) pour accéder au simulateur.
- Pour tester votre action dans le simulateur, saisissez
Talk to Spelling Practice
dans le champ "Entrée". - Appuyez sur Entrée. Votre action doit répondre par l'invite
Main invocation
et l'invite de scèneStart
ajoutée, à savoir Bienvenue dans l'exercice d'orthographe. Épelle le mot en utilisant l'alphabet phonétique. Par exemple, alpha pour a, bravo pour b, charlie pour c, etc. Voulez-vous continuer ?".
La capture d'écran suivante illustre cette interaction :
- Cliquez sur le chip de suggestion
Yes
,No
ouHelp with Phonetics
pour répondre à l'invite. Vous pouvez également dire Oui ou Non, ou Aide pour la phonétique, ou saisirYes
,No
ouHelp with Phonetics
dans le champ Input (Entrée).
Lorsque vous répondez à l'invite, votre action renvoie un message indiquant qu'elle ne comprend pas votre entrée : Sorry, I didn't catch that. Pouvez-vous réessayer ?" Comme vous n'avez pas encore configuré votre action pour qu'elle comprenne et réponde à l'entrée Yes ou No, elle établit une correspondance entre votre entrée et un intent NO_MATCH
.
Par défaut, l'intent système NO_MATCH
fournit des réponses génériques. Toutefois, vous pouvez personnaliser ces réponses pour indiquer à l'utilisateur que vous n'avez pas compris son entrée. L'Assistant met fin à la conversation de l'utilisateur avec votre action quand, au bout de trois fois, il ne parvient pas à cibler l'entrée utilisateur.
Ajouter des intents "no" et "phonetics"
Maintenant que les utilisateurs peuvent répondre à la question posée par votre action, vous pouvez configurer votre action pour qu'elle comprenne les réponses des utilisateurs (Yes, No ou Help with Phonetics). Dans les sections suivantes, vous allez créer des intents utilisateur qui sont ciblés lorsque l'utilisateur dit Oui, Non ou "Aide pour la phonétique", puis les ajouter à la scène Start
. Nous allons utiliser l'intent système yes
et créer d'autres intents.
Créer l'intent no
Vous devez maintenant créer l'intent no
pour comprendre l'entrée utilisateur et y répondre si l'utilisateur ne veut pas jouer au jeu. Pour créer cet intent :
- Dans le menu de navigation, cliquez sur Develop (Développer).
- Dans le menu de navigation, cliquez sur Intents personnalisés pour afficher la liste des intents.
- Cliquez sur + (signe plus) à la fin de la liste des intents. Nommez le nouvel intent
no
et appuyez sur Entrée. - Cliquez sur no pour ouvrir la page de l'intent
no
. - Dans la section Add training phrases (Ajouter des expressions d'entraînement), cliquez sur la zone de texte Enter Phrase (Saisissez une expression), puis saisissez les expressions suivantes :
No
N
I don't want
nope
- Cliquez sur Enregistrer.
Ajouter l'intent no
à la scène Start
Votre action est maintenant capable de comprendre quand un utilisateur dit no ou emploie une autre expression similaire, comme nope. Vous devez ajouter l'intent utilisateur no
à la scène Start
, car l'utilisateur répond à l'invite Start
("Bienvenue dans l'exercice d'orthographe. Épelle le mot en utilisant l'alphabet phonétique. Par exemple, alpha pour a, bravo pour b, charlie pour c, etc. Voulez-vous continuer ?").
Pour ajouter cet intent à la scène Start
:
- Dans le panneau de navigation, cliquez sur la scène Start (Démarrer).
- Cliquez sur + (signe plus) dans la scène
Start
à côté de "Gestion des intents utilisateur". - Dans la section Intent, sélectionnez no (non) dans le menu déroulant.
- Cliquez sur Send prompts (Envoyer des invites) et remplacez le contenu du champ
speech
par le texte suivant :Good Bye
.
Le code dans l'éditeur doit ressembler à l'extrait ci-dessous :
candidates: - first_simple: variants: - speech: >- Goodbye.
- Dans la section Transition, sélectionnez End conversation (Terminer la conversation) dans le menu déroulant.
- Cliquez sur Enregistrer.
Tester l'intent no
dans le simulateur
À ce stade, votre action comprend quand l'utilisateur ne veut pas jouer au jeu et renvoie la réponse appropriée.
Pour tester cet intent dans le simulateur :
- Dans la barre de navigation, cliquez sur Test (Tester).
- Saisissez
Talk to Spelling Practice
dans le champ "Input" (Entrée), puis appuyez surEnter
. - Saisissez
No
dans le champ Input (Entrée), puis appuyez sur Entrée. Vous pouvez également cliquer sur le chip de suggestion "Non".
Ajouter l'intent système YES
à la scène Start
Nous allons maintenant ajouter l'intent SYSTEM "YES" à la scène Start
, car l'utilisateur répond "oui" à l'invite Start
(Bienvenue dans l'exercice d'orthographe. Épelle le mot en utilisant l'alphabet phonétique. Par exemple, alpha pour a, bravo pour b, charlie pour c, etc. Voulez-vous continuer ?").
Pour ajouter cet intent utilisateur à la scène Start
, procédez comme suit :
- Dans le panneau de navigation, cliquez sur la scène Start (Démarrer).
- Cliquez sur + (signe plus) dans la scène
Start
à côté de User intent handling (Gestion des intents utilisateur). - Sous "Tous les intents système", sélectionnez YES (OUI) dans le menu déroulant des intents.
- Cliquez sur Call your webhook (Appeler votre webhook), puis remplacez le contenu de la zone de texte
event handler
par la fonction que vous avez créée précédemment :getSpellingWordList
. - Dans la section Transition, cliquez sur le menu déroulant, puis sélectionnez End conversation (Terminer la conversation).
- Cliquez sur Enregistrer.
Tester l'intent YES
dans le simulateur
À ce stade, votre action comprend quand l'utilisateur veut jouer au jeu et renvoie la réponse appropriée.
Pour tester cet intent dans le simulateur :
- Dans la barre de navigation, cliquez sur Test (Tester).
- Pour tester votre action dans le simulateur, saisissez
Talk to Spelling Practice
dans le champ Input (Entrée), puis appuyez sur Entrée. - Saisissez
Yes
dans le champ Input (Entrée), puis appuyez sur Entrée. Vous pouvez également cliquer sur le chip de suggestionYes
.
Votre Action récupère une liste de tous les mots à pratiquer et les stocke dans la session. Elle met ensuite fin à la session, car vous avez sélectionné la transition End conversation
pour l'intent YES
.
Créer l'intent Phonetics
Pour créer l'intent Phonetics
:
- Dans le menu de navigation, cliquez sur Develop (Développer).
- Dans le menu de navigation, cliquez sur Intents personnalisés pour afficher la liste des intents.
- Cliquez sur + (signe plus) à la fin de la liste des intents. Nommez le nouvel intent
phonetics
et appuyez surEnter
. - Cliquez sur l'intent
phonetics
pour ouvrir la page de l'intentphonetics
. - Dans la section "Ajouter des expressions d'entraînement", cliquez sur la zone de texte Saisissez une expression, puis saisissez les expressions suivantes :
how do I spell words
phonetics
help me with phonetics
phonetic alphabet
- Cliquez sur Enregistrer.
Ajouter l'intent phonetics
à la scène Start
Votre action peut maintenant comprendre quand un utilisateur formule l'intent phonetics. Vous pouvez ajouter l'intent utilisateur phonetics
à la scène Start
, car l'utilisateur répond à l'invite Start
(Bienvenue dans l'exercice d'orthographe. Épelle le mot en utilisant l'alphabet phonétique. Par exemple, alpha pour a, bravo pour b, charlie pour c, etc. Voulez-vous continuer ?").
Pour ajouter cet intent utilisateur à la scène Start
, procédez comme suit :
- Dans le panneau de navigation, cliquez sur la scène Start (Démarrer).
- Cliquez sur le signe + (plus) dans la scène
Start
à côté de "Gestion des intents utilisateur". - Dans la liste déroulante des intents, sélectionnez phonetics (phonétique).
- Dans la section Transition, cliquez sur le menu déroulant, puis sélectionnez End conversation (Terminer la conversation).
- Cliquez sur Enregistrer.
Transition de la scène "Start" (Début) à la scène "Spelling" (Orthographe)
Dans cette section, vous allez créer une scène intitulée Spelling, qui envoie une invite à l'utilisateur pour qu'il épelle le mot à l'aide de l'alphabet phonétique.
Pour créer cette scène et y ajouter une transition :
- Dans la barre de navigation en haut de l'écran, cliquez sur Develop (Développer). Dans le panneau de navigation de gauche, cliquez sur la scène Start (Démarrer).
- Dans la section Gestion de l'intention de l'utilisateur, cliquez sur
when actions.intent.YES is matched
, puis à droite, dans la section Transition, cliquez sur le menu déroulant et saisissezSpelling
dans le champ de texte. - Cliquez sur Ajouter. Vous créez ainsi une scène intitulée
Spelling
, qui indique à l'action de passer à la scèneSpelling
après la correspondance avec l'intention OUI. - Dans le panneau de navigation de gauche, développez Scènes pour afficher la liste des scènes.
- Sous Scenes (Scènes), cliquez sur Spelling (Orthographe) pour afficher la scène
Spelling
. - Dans la section On enter (Lors de l'entrée) de la scène
Spelling
, cliquez sur +. - Cliquez sur Appeler votre webhook et saisissez getSpellingWord dans la zone de texte du gestionnaire d'événements.
- Cochez la case Send prompts (Envoyer des invites).
- Remplacez la phrase du champ
speech
(Enter the response that users will see or hear...
) par {}. La requête réelle sera renseignée par le webhook.
Les chips de suggestion proposent à l'utilisateur des suggestions cliquables que votre action traite comme des entrées utilisateur.
Pour ajouter des chips de suggestion à l'invite de la scène Spelling
:
- Dans la scène
Spelling
, cliquez sur "Suggestions" sous l'éditeur de code. Trois chips de suggestion sont alors ajoutés. - Dans le champ
title
, remplacezSuggested Response
par'Repeat'
. - En utilisant la même mise en forme, ajoutez manuellement un chip de suggestion intitulé
'Skip'
. - En utilisant la même mise en forme, ajoutez manuellement un chip de suggestion intitulé
'Quit'
. Le code doit ressembler à l'extrait suivant : - Cliquez sur Enregistrer.
suggestions: - title: 'Repeat' - title: 'Skip' - title: 'Quit'
Créer l'intent Repeat
Pour créer l'intent repeat
:
- Dans le menu de navigation, cliquez sur Develop (Développer).
- Dans le menu de navigation, cliquez sur Intents personnalisés pour afficher la liste des intents.
- Cliquez sur + (signe plus) à la fin de la liste des intents. Nommez le nouvel intent
repeat
et appuyez surEnter
. - Cliquez sur l'intent
repeat
pour ouvrir la page de l'intentdefinition
. - Dans la section Add training phrases (Ajouter des expressions d'entraînement), cliquez sur la zone de texte Enter Phrase (Saisissez une expression), puis saisissez les expressions suivantes :
one more time please
say the word again
repeat the word
tell me again
repeat
- Cliquez sur Enregistrer.
Ajouter l'intent repeat
à la scène Spelling
Votre action peut maintenant comprendre quand un utilisateur formule l'intent Repeat. Vous pouvez ajouter l'intent utilisateur repeat
à la scène Spelling
, car l'utilisateur répond à l'invite Spelling
(Épelle le mot en utilisant l'alphabet phonétique).
Pour ajouter cet intent utilisateur à la scène Spelling
, procédez comme suit :
- Dans le panneau de navigation, cliquez sur la scène Spelling (Orthographe).
- Cliquez sur + (signe plus) dans la scène
Spelling
à côté de User intent handling (Gestion des intents utilisateur). - Dans la liste déroulante des intents, sélectionnez repeat (répéter).
- Cochez Appeler votre webhook et saisissez repeatSpellingWord dans la zone de texte du gestionnaire d'événements pour obtenir la définition du mot.
- Cochez la case Send prompts (Envoyer des invites).
- Remplacez la phrase du champ
speech
(Enter the response that users will see or hear...
) par ".". L'invite réelle sera renseignée par le webhook.
Ajouter des chips de suggestion à "Quand la répétition correspond"
- Dans When Repeat is matched (Lorsque la répétition est détectée) sous "Gestion de l'intention de l'utilisateur", cliquez sur suggestions sous l'éditeur de code. Trois chips de suggestion sont alors ajoutés.
- Dans le champ
title
, remplacezSuggested Response
par'Skip'
. - En utilisant la même mise en forme, ajoutez manuellement un chip de suggestion intitulé
'Quit'
.Votre code doit ressembler à l'extrait suivant :
suggestions: - title: 'Skip' - title: 'Quit'
- Cliquez sur Enregistrer.
Créer l'intent definition
Pour créer l'intent definition
:
- Dans le menu de navigation, cliquez sur Develop (Développer).
- Dans le menu de navigation, cliquez sur Intents personnalisés pour afficher la liste des intents.
- Cliquez sur + (signe plus) à la fin de la liste des intents. Nommez le nouvel intent
definition
et appuyez surEnter
. - Cliquez sur l'intent
definition
pour ouvrir la page de l'intentdefinition
. - Dans la section Add training phrases (Ajouter des expressions d'entraînement), cliquez sur la zone de texte Enter Phrase (Saisissez une expression), puis saisissez les expressions suivantes :
I would like to know the definition
tell me the definition
what does it mean
meaning
definition
what is the definition?
- Cliquez sur Enregistrer.
Ajouter l'intent definition
à la scène Spelling
Votre action peut maintenant comprendre quand un utilisateur formule l'intent definition. Vous pouvez ajouter l'intent utilisateur definition
à la scène Spelling
, car l'utilisateur répond à l'invite Spelling
(Épelle le mot en utilisant l'alphabet phonétique).
Pour ajouter cet intent utilisateur à la scène Spelling
, procédez comme suit :
- Dans le panneau de navigation, cliquez sur la scène Spelling (Orthographe).
- Cliquez sur + (signe plus) dans la scène
Spelling
à côté de User intent handling (Gestion des intents utilisateur). - Dans la liste déroulante des intents, sélectionnez definition (définition).
- Cochez la case Appeler votre webhook et saisissez definitionOfSpellingWord dans la zone de texte du gestionnaire d'événements pour obtenir la définition du mot.
- Cochez la case Send prompts (Envoyer des invites).
- Remplacez la phrase du champ
speech
(Enter the response that users will see or hear...
) par "`. La requête réelle sera renseignée par le webhook.
Ajouter des chips de suggestion à la réponse du webhook
- Dans la scène
Start
, cliquez sur suggestions sous l'éditeur de code. Trois chips de suggestion sont alors ajoutés. - Dans le champ
title
, remplacezSuggested Response
par'Skip'
. - En utilisant la même mise en forme, ajoutez manuellement un chip de suggestion intitulé
'Quit'
.Votre code doit ressembler à l'extrait suivant :
suggestions: - title: 'Skip' - title: 'Quit'
- Cliquez sur Enregistrer.
Créer l'intent skip
Pour créer l'intent skip
:
- Dans le menu de navigation, cliquez sur Develop (Développer).
- Dans le menu de navigation, cliquez sur Intents pour ouvrir la liste des intents.
- Cliquez sur + (signe plus) à la fin de la liste des intents. Nommez le nouvel intent
skip
et appuyez surEnter
. - Cliquez sur l'intent
skip
pour ouvrir la page de l'intentskip
. - Dans la section Add training phrases (Ajouter des expressions d'entraînement), cliquez sur la zone de texte Enter Phrase (Saisissez une expression), puis saisissez les expressions suivantes :
next word
go next
next
skip
skip word
- Cliquez sur Enregistrer.
Ajouter l'intent Skip
à la scène Spelling
Votre action peut maintenant comprendre quand un utilisateur formule l'intent Skip. Vous pouvez ajouter l'intent utilisateur skip
à la scène Spelling
, car l'utilisateur répond à l'invite Spelling
(Épelle le mot en utilisant l'alphabet phonétique).
Pour ajouter cet intent utilisateur à la scène Spelling
, procédez comme suit :
- Dans le panneau de navigation, cliquez sur la scène Spelling (Orthographe).
- Cliquez sur + (signe plus) dans la scène
Spelling
à côté de User intent handling (Gestion des intents utilisateur). - Dans la liste déroulante des intents, sélectionnez skip (ignorer).
- Dans la section Transition à droite, cliquez sur le menu déroulant et sélectionnez
Spelling
.
- Cliquez sur Enregistrer.
Créer l'intent quit
Pour créer l'intent Quit
:
- Dans le menu de navigation, cliquez sur Develop (Développer).
- Dans le menu de navigation, cliquez sur Intents pour ouvrir la liste des intents.
- Cliquez sur + (signe plus) à la fin de la liste des intents. Nommez le nouvel intent
Quit
et appuyez surEnter
. - Cliquez sur l'intent
Quit
pour ouvrir la page de l'intent definition. - Dans la section Add training phrases (Ajouter des expressions d'entraînement), cliquez sur la zone de texte Enter Phrase (Saisissez une expression), puis saisissez les expressions suivantes :
I quit
Goodbye
Cancel
Exit
Quit
- Cliquez sur Enregistrer.
Ajouter l'intent Quit
à la scène Spelling
Votre action peut maintenant comprendre quand un utilisateur formule l'intent Quit. Vous pouvez ajouter l'intent utilisateur quit
à la scène Spelling
, car l'utilisateur répond à l'invite Spelling
(Épelle le mot en utilisant l'alphabet phonétique).
Pour ajouter cet intent utilisateur à la scène Spelling
, procédez comme suit :
- Dans le panneau de navigation, cliquez sur la scène Spelling (Orthographe).
- Cliquez sur + (signe plus) dans la scène
Spelling
à côté de User intent handling (Gestion des intents utilisateur). - Dans la liste déroulante des intents, sélectionnez quit (quitter).
- Dans la section Transition à droite, cliquez sur le menu déroulant et sélectionnez
End conversation
. - Cliquez sur Enregistrer.
Créer un type phonetic_alphabet
Dans cette section, vous allez créer un type appelé phonetic_alphabet
, qui spécifie les options de l'alphabet phonétique que les utilisateurs peuvent choisir pour épeler le mot. Vous allez également définir quelques synonymes pour ces options, au cas où l'utilisateur prononcerait un mot similaire. Dans une section ultérieure, vous ajouterez le type phonetic_alphabet
à un emplacement pour indiquer que vous voulez obtenir la réponse de l'utilisateur.
Pour créer le type phonetic_alphabet
, procédez comme suit :
- Dans le menu de navigation, cliquez sur Develop (Développer).
- Cliquez sur + (signe plus) sous Types.
- Saisissez
phonetic_alphabet
, puis appuyez surEnter
. - Cliquez sur
phonetic_alphabet
pour ouvrir les options. - Dans la section Quels types de valeurs ce type prendra-t-il en charge ?, sélectionnez l'option Mots et synonymes.
- Saisissez les entrées et valeurs correspondantes suivantes dans la section Add entries (Ajouter des entrées) :
a | alpha, apple, amsterdam |
b | bravo, butter, baltimore |
c | charlie, chat, casablanca |
| delta, chien, danemark |
e | echo, edward, edison |
f | foxtrot, fox, florida |
g | golf, george, gallipoli |
h | hotel, harry, havana |
i | india, ink, italia |
j | juliette, johnny, jerusalem |
k | kilo, king, kilogramme |
l | lima, liberté, londres |
min | mike, money, madagascar |
n | novembre, new york, nancy |
o | oscar, orange, oslo |
p | papa, paris, peter |
q | quebec, queen |
r | romeo, roma, robert |
s | sierra, sugar, santiago |
t | tango, tommy, tripoli |
u | uniforme, parapluie, oncle |
v | victor, vinegar, Valencia |
w | whiskey, william, washington |
x | x-ray |
y | yankee, yellow, yorker |
z | zoulou, zèbre, zurich |
Le tableau des paires clé/valeur devrait se présenter comme suit :
- Cliquez sur Enregistrer.
Configurer le remplissage d'emplacements
Vous devez ensuite configurer le remplissage d'emplacements dans la scène "Orthographe". Pour configurer la logique de remplissage d'emplacements, procédez comme suit :
- Dans le panneau de navigation, cliquez sur la scène Spelling (Orthographe).
- Dans la scène
Spelling
, cliquez sur + (signe plus) pour Remplissage d'emplacements. - Dans le champ Enter slot name (Saisir un nom d'emplacement), ajoutez
userresponse
comme nom d'emplacement. - Dans le menu déroulant Select type (Sélectionner un type), sélectionnez phonetic_alphabet comme type d'emplacement.
- Cochez la case Ce slot accepte une liste de valeurs.
- Cochez la case This slot is required (Cet emplacement est obligatoire).
- Sélectionnez l'option Personnaliser le renvoi des valeurs de slot et saisissez "userresponse" dans la zone de texte du paramètre de session.
- Cliquez sur Enregistrer.
Ajouter une condition à l'écran Spelling
Pour ajouter une condition à la scène Spelling
, procédez comme suit :
- Dans le panneau de navigation, cliquez sur la scène Spelling (Orthographe).
- Cliquez sur + (signe plus) dans la scène
Spelling
à côté de "Condition". - Saisissez
scene.slots.status == "FINAL"
comme condition - Cochez la case Appeler votre webhook et saisissez verifySpellingWord dans la zone de texte du gestionnaire d'événements pour vérifier la réponse de l'utilisateur.
- Cochez la case Send prompts (Envoyer des invites).
- Remplacez la phrase du champ
speech
(Enter the response that users will see or hear...
) par {}. La requête réelle sera renseignée par le webhook.
Ajouter des chips de suggestion à la réponse du webhook
- Dans la scène
Start
, cliquez sur suggestions sous l'éditeur de code. Trois chips de suggestion sont alors ajoutés. - Dans le champ
title
, remplacezSuggested Response
par'Next'
. - En utilisant la même mise en forme, ajoutez manuellement un chip de suggestion intitulé
'Quit'
.Votre code doit ressembler à l'extrait suivant :
suggestions: - title: 'Next' - title: 'Quit'
- Cliquez sur Enregistrer.
12. Tester l'exercice d'orthographe dans le simulateur
Pour tester votre action dans le simulateur :
- Dans la barre de navigation, cliquez sur Test (Tester) pour accéder au simulateur.
- Pour tester votre action dans le simulateur, saisissez
Talk to Spelling Practice
dans le champ "Entrée". - Appuyez sur Entrée. Votre action doit répondre par l'invite
Main invocation
et l'invite de scèneStart
ajoutée, à savoir Bienvenue dans l'exercice d'orthographe. Épelle le mot en utilisant l'alphabet phonétique. Par exemple, alpha pour a, bravo pour b, charlie pour c, etc. Voulez-vous continuer ?". - Dites Oui pour continuer.
- Le simulateur émet un son pour un mot à épeler.
- Vous pouvez épeler le mot à l'aide d'alphabets phonétiques. Par exemple, pour better, dites ou saisissez "bravo echo tango tango echo romeo".
- Le simulateur répondra avec la réponse correcte ou incorrecte.
- Dites suivant pour passer au mot suivant ou quitter pour quitter la boucle du jeu.
13. Félicitations
Félicitations, vous avez créé votre jeu Spelling Practice !
Vous connaissez désormais les principales étapes nécessaires pour créer un jeu à l'aide de Cloud Firestore, Cloud Functions et Action Builder de l'Assistant Google.
Sujets abordés
- Interagir avec Cloud Firestore
- Utiliser des emplacements pour collecter des données auprès de l'utilisateur
- Traiter l'entrée utilisateur et y répondre
- Utiliser des conditions pour ajouter une logique à une scène
- Ajouter une boucle de jeu
Autres ressources de formation
Pour en savoir plus sur la création d'actions pour l'Assistant Google, consultez les ressources suivantes :
- Documentation sur le développement d'actions pour l'Assistant Google
- Page GitHub Actions on Google, pour des exemples de code et des bibliothèques
- Communauté Reddit officielle des développeurs qui travaillent sur l'Assistant Google
- Consignes pour concevoir des conversations, afin de connaître les bonnes pratiques et les consignes sur les actions conversationnelles
- Présentation de Cloud Firestore
Nettoyer votre projet [recommandé]
Pour éviter de vous facturer des frais, nous vous recommandons de supprimer les projets que vous ne comptez pas utiliser. Pour supprimer les projets que vous avez créés dans cet atelier de programmation :
- Suivez la procédure décrite dans la section Arrêter (supprimer) des projets pour supprimer votre projet Firebase et ses ressources.
Attention : Veillez à sélectionner le bon projet à supprimer sur la page Paramètres de la console Google Cloud.
- Facultatif : Pour supprimer immédiatement votre projet de la console Actions, suivez la procédure décrite dans la section Supprimer un projet. Si vous ne le faites pas, votre projet sera supprimé automatiquement après un délai de 30 jours environ.
Suivez @ActionsOnGoogle et @Firebase sur Twitter pour connaître les dernières informations, et tweetez avec le hashtag #GoogleIO pour montrer votre création.