Gioco di esercizi di ortografia utilizzando l'Assistente Google e Cloud Firestore

1. Panoramica

La piattaforma per sviluppatori dell'Assistente Google ti consente di creare software per estendere le funzionalità dell'Assistente Google, un assistente personale virtuale, su oltre 1 miliardo di dispositivi, inclusi altoparlanti intelligenti, telefoni, automobili, TV, cuffie e altro ancora. Gli utenti coinvolgono l'Assistente in conversazioni per svolgere attività, ad esempio acquistare generi alimentari o prenotare una corsa. In qualità di sviluppatore, puoi utilizzare la piattaforma per sviluppatori Assistant per creare e gestire facilmente esperienze di conversazione piacevoli ed efficaci tra gli utenti e il tuo servizio di evasione ordini di terze parti.

Questo codelab copre concetti di livello intermedio per lo sviluppo con l'Assistente Google, Cloud Functions e Cloud Firestore. In questo codelab creerai un gioco chiamato "Splling Practice" che utilizza l'Assistente Google per chiedere agli utenti di scrivere le parole.

Cosa costruirai

In questo codelab creerai un gioco sofisticato con le seguenti funzionalità:

  • Riceve risposte ortografiche dall'utente e, a seconda del valore, modifica le istruzioni conversazionali
  • Risponde con suggerimenti relativi all'ortografia della parola, come la sua definizione o la ripetizione della parola
  • Crea un ciclo di gioco in modo che un utente possa interagire nuovamente con l'Assistente dopo aver scritto la parola

Prima di iniziare a costruire, puoi interagire con l' azione dal vivo sul tuo dispositivo abilitato per l'Assistente Google dicendo "Ehi Google, parla con Spelling Practice". Il percorso predefinito attraverso questa azione per un utente che ritorna è simile alla seguente interazione:

Una volta terminato questo codelab, l'azione completata avrà il seguente flusso di conversazione:

2e9f94dc0ceafc96.png

Cosa imparerai

  • Come interagire con Cloud Firestore
  • Come utilizzare gli slot per raccogliere dati dall'utente
  • Come elaborare l'input di un utente e restituire una risposta
  • Come utilizzare le condizioni per aggiungere logica a una scena
  • Come aggiungere un ciclo di gioco

Di cosa avrai bisogno

I prerequisiti per questo codelab includono quanto segue:

  • Un browser web, come Google Chrome
  • Un IDE per scrivere Cloud Functions.
  • Un metodo di pagamento. Questo codelab utilizza Cloud Functions for Firebase che richiede che il tuo progetto sia incluso nel piano tariffario Firebase Blaze ( ulteriori informazioni ).
  • Un terminale per eseguire comandi di shell
  • Node.js 10 o successivo

2. Ottieni il codice delle funzioni

Clona il repository GitHub dalla riga di comando:

$ git clone https://github.com/FirebaseExtended/codelab-actions-firestore

3. Crea un progetto Firebase e configura la tua app

Crea un progetto Firebase

  1. Accedi a Firebase .
  2. Nella console Firebase, fai clic su Aggiungi progetto (o Crea un progetto ), quindi assegna al progetto Firebase il nome Spelling-Practice .

66ae8d1894f4477.png

  1. Fai clic sulle opzioni di creazione del progetto. Se richiesto, accetta i termini di Firebase. Salta la configurazione di Google Analytics perché non utilizzerai Analytics per questa app.

Per ulteriori informazioni sui progetti Firebase, consulta Comprendere i progetti Firebase .

Passa al piano tariffario Blaze

Per utilizzare Cloud Functions for Firebase, dovrai aggiornare il tuo progetto Firebase al piano tariffario Blaze , il che significa che collegherai un account di fatturazione Google Cloud al tuo progetto. Ciò richiede che tu fornisca una carta di credito o un altro metodo di pagamento.

Tutti i progetti Firebase, inclusi quelli del piano Blaze, hanno comunque accesso alle quote di utilizzo gratuite per Cloud Functions. I passaggi descritti in questo codelab rientreranno nei limiti di utilizzo senza costi. Tuttavia, vedrai piccoli addebiti ( circa $ 0,03 ) da Cloud Storage, che viene utilizzato per ospitare le immagini di build di Cloud Functions.

4. Installa la CLI Firebase

La CLI Firebase (interfaccia della riga di comando) ti consente di distribuire le tue Funzioni Cloud.

Esistono diverse opzioni per l'installazione della CLI Firebase a seconda del sistema operativo e del caso d'uso. I passaggi seguenti descrivono l'opzione più comune se utilizzi anche Cloud Functions.

  1. Assicurati di aver installato npm che in genere viene fornito con Node.js .
  2. Installa o aggiorna la CLI eseguendo il seguente comando npm:
$ npm -g install firebase-tools
  1. Verificare che la CLI sia stata installata correttamente eseguendo:
$ firebase --version

Assicurati che la versione della CLI Firebase sia 9.0.0 o successiva in modo che disponga di tutte le funzionalità più recenti richieste per Cloud Functions. In caso contrario, esegui npm install -g firebase-tools per eseguire l'aggiornamento come mostrato sopra.

  1. Autorizza la CLI Firebase eseguendo:
$ firebase login
  1. Dalla directory spelling-functions-start, configura la CLI Firebase per utilizzare il tuo progetto Firebase. Esegui il comando seguente, seleziona il tuo ID progetto, quindi segui le istruzioni. Quando richiesto, puoi scegliere qualsiasi alias, come ad esempio codelab .
$ firebase use --add

5. La directory delle funzioni

Ora aggiungerai funzionalità utilizzando Firebase SDK for Cloud Functions per creare il backend per il gioco, Spelling Practice .

Cloud Functions ti consente di avere codice eseguito nel cloud senza dover configurare un server. Questo codelab ti mostrerà come creare funzioni che reagiscono agli eventi di Firebase Authentication, Cloud Storage e Firebase Realtime Database. Cominciamo con l'autenticazione.

Quando utilizzi Firebase SDK for Cloud Functions, il codice delle funzioni si troverà nella directory functions (per impostazione predefinita). Per semplificarti le cose, abbiamo già creato il file functions/index.js in cui verrà inserito il tuo codice. Sentiti libero di ispezionare la directory functions prima di andare avanti.

$ cd functions
$ ls

Anche il codice delle tue funzioni è un'app Node.js e pertanto necessita di un package.json che fornisca alcune informazioni sulla tua app ed elenchi le dipendenze.

Se non hai familiarità con Node.js , sarà utile saperne di più prima di continuare il codelab.

Il file package.json elenca già due dipendenze richieste: Firebase SDK for Cloud Functions e Firebase Admin SDK . Per installarli localmente, esegui npm install dalla directory functions :

$ npm install

Diamo ora un'occhiata al file index.js :

indice.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.

Per prima cosa importerai i moduli richiesti, quindi scriverai quattro funzioni al posto delle TODO. Prosegui con il passaggio successivo del codelab per importare i moduli.

6. Importare i moduli richiesti

Questo codelab richiede tre moduli.

  • Il modulo firebase-functions ci consente di scrivere i trigger per le nostre Cloud Functions
  • Il modulo firebase-admin ci consente di utilizzare la piattaforma Firebase su un server con accesso amministratore, ad esempio per scrivere sul Cloud Firestore.
  • La libreria di adempimento Actions SDK Node.js soddisfa i gestori dell'SDK di Actions per l'Assistente Google.
  1. Installa Actions SDK eseguendo il seguente comando npm:
$ npm install @assistant/conversation
  1. Nel file index.js , sostituisci il primo TODO con il seguente.

Queste modifiche importano ciascuno dei moduli richiesti.

Inoltre, Firebase Admin SDK può essere configurato automaticamente quando distribuito in un ambiente Cloud Functions o in un altro contenitore Google Cloud. Questo è ciò che accade quando chiamiamo admin.initializeApp(); nelle modifiche riportate di seguito.

indice.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.

Ora aggiungiamo la logica aziendale utilizzando le funzioni per supportare le azioni dell'assistente.

7. Creare funzioni

Ottieni le definizioni delle parole e scrivile su Cloud Firestore

Utilizzerai l'API pubblica dictionaryapi.dev per ottenere le definizioni delle parole.

Nel file index.js , sostituisci TODO per getWordDetailsFromDictionaryAPI con quanto segue:

indice.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();
}

Aggiungi un trigger Cloud Firestore

Successivamente, creerai una Cloud Function che si attiva ogni volta che viene creato un nuovo documento in Cloud Firestore. Chiamerà l'API dictionaryapi.dev per ottenere le definizioni delle parole tramite la funzione getWordDetailsFromDictionaryAPI che abbiamo scritto appena sopra.

Nel file index.js , sostituisci TODO per createSpellingPracticeWord con quanto segue:

indice.js

// Trigger Firestore che recupera le definizioni delle parole tramite getWordDetailsFromDictionaryAPI per ogni nuovo documento Firestore

exports.createSpellingPracticeWord = functions.firestore
  .document('wordlist/{word}')
  .onCreate((snap, context) => {
    const newValue = snap.data();
    const word = newValue.word;
    getWordDetailsFromDictionaryAPI(word);
});

Ottieni un elenco di parole per il gioco

Puoi scrivere una funzione Cloud che recuperi un elenco di parole per esercizi di ortografia da Cloud Firestore per l'Assistente. Per questo utilizziamo il gestore dell'app.

Nel file index.js , sostituisci TODO per getSpellingWordList con quanto segue.

Aggiungere questa funzione allo speciale app.handle è un modo per rendere la funzione accessibile dall'Assistente.

indice.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;
    });
  });
})

Ricevi una parola dalla sessione dell'assistente

Puoi scrivere una funzione Cloud che restituisca la parola ortografica successiva dall'elenco di parole.

Nel file index.js , sostituisci TODO per getSpellingWord con quanto segue:

indice.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');
});

Abilita il gioco a ripetere la parola

Puoi scrivere una funzione cloud che ripeta la parola corrente per il gioco.

Nel file index.js , sostituisci TODO per repeatSpellingWord con quanto segue:

indice.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');
});

Ottieni la definizione della parola

Puoi scrivere una funzione cloud che fornisca la definizione della parola corrente per il gioco.

Nel file index.js , sostituisci TODO per definitionOfSpellingWord con quanto segue:

indice.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);
});

Controlla la risposta ortografica dell'utente

Puoi scrivere una funzione Cloud che verifica la risposta dell'utente su come si scrive la parola corrente per il gioco.

Nel file index.js , sostituisci TODO per verifySpellingWord con quanto segue:

indice.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);

Distribuisci tutte le tue funzioni

Le tue Funzioni Cloud saranno attive solo dopo averle distribuite su Firebase.

Dalla radice della directory spelling-functions-start , esegui il comando seguente:

$ firebase deploy --only functions

Questo è l'output della console che dovresti vedere:

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

Prendi nota dell'URL dell'endpoint HTTP della funzione ActionsOnGoogleFulfillment per un utilizzo successivo. Per ottenere l'endpoint, apri la console Firebase e quindi fai clic su progetto di pratica ortografica . Aprire il dashboard delle funzioni per visualizzare l'endpoint delle funzioni.

332cb0437411a242.png

Hai completato l'aggiunta di tutte le funzioni richieste. Passiamo ora alla configurazione di Cloud Firestore.

8. Abilita Cloud Firestore

Dovrai abilitare Cloud Firestore.

Nella sezione Build della console Firebase, fai clic su Firestore . Quindi, fai clic su Crea database .

5c0b4abf4410ffcf.png

L'accesso ai dati in Cloud Firestore è controllato dalle regole di sicurezza. Per prima cosa devi impostare alcune regole di base sui dati per iniziare. Fai clic su Firestore, quindi nella scheda Regole della console Firebase, aggiungi le seguenti regole, quindi fai clic su Pubblica .

Le regole seguenti limitano l'accesso ai dati agli utenti che hanno effettuato l'accesso, impedendo agli utenti non autenticati di leggere o scrivere.

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. Aggiungi i dati delle parole ortografiche a Cloud Firestore

In questo passaggio, scriverai i dati delle parole ortografiche su Cloud Firestore in modo da poter generare un elenco di parole per l'Assistente (e il gioco).

I dati di Cloud Firestore sono strutturati in raccolte, documenti, campi e sottoraccolte. Ogni parola del gioco verrà archiviata come documento separato in una raccolta di livello superiore chiamata wordlist . Per ogni nuovo documento nella raccolta Firestore, verrà attivata la funzione createSpellingPracticeWord per ottenere i dettagli della parola dal servizio API Dictionary .

Crea una raccolta Cloud Firestore

  1. Nella console Firebase, vai alla sezione Cloud Firestore.
  2. Fai clic su + Avvia raccolta .
  3. Nella casella di testo ID raccolta , inserisci wordlist , quindi fai clic su Avanti .

1b4ccadb90f52f02.png

Successivamente, creeremo un documento per una parola: accordo

  1. Nella casella di testo ID documento , inserisci agreement .
  2. Nella casella di testo Campo , inserisci word e nella casella di testo Valore inserisci agreement .
  3. Fare clic su Salva .

379037e011e8511e.png

Quando aggiungi questo documento a Cloud Firestore, viene attivata la funzione createSpellingPracticeWord per recuperare i dettagli della definizione della parola. Aggiungi più parole (ad esempio: stupore, macchina, vero, racconta, meglio, pendolarismo, ...) creando un nuovo documento per ogni parola.

10. Configura l'Assistente Google

Le sezioni seguenti descrivono come configurare l'ambiente di sviluppo dell'Assistente Google e creare il tuo progetto Actions.

Controlla le impostazioni delle autorizzazioni di Google

Per testare l'azione creata in questo codelab, devi abilitare le autorizzazioni necessarie affinché il simulatore possa accedere alla tua azione. Per abilitare le autorizzazioni, attenersi alla seguente procedura:

  1. Vai alla pagina Controlli attività .
  2. Accedi con il tuo Account Google, se non lo hai già fatto.
  3. Abilita le seguenti autorizzazioni:
  • Attività Web e app
  • In Attività web e app , seleziona la casella di controllo accanto a Includi cronologia e attività di Chrome da siti, app e dispositivi che utilizzano i servizi Google .

c988e1e639e6d6e1.png

Creare un progetto Azioni

Il tuo progetto Actions è un contenitore per la tua Action. Per creare il tuo progetto Actions per questo codelab, procedi nel seguente modo:

  1. Apri la console Azioni .
  2. Fare clic su Nuovo progetto .
  3. Accetta i termini di servizio

b174d45710b8086b.png

  1. Digita o seleziona spelling-practice-codelab creato utilizzando la console Firebase. (Il nome serve per riferimento interno. Successivamente potrai impostare un nome esterno per il tuo progetto.)

a2951de5d2001fac.png

  1. Fare clic su Importa progetto .
  2. Nella sezione Che tipo di azione vuoi costruire? schermata, seleziona la scheda Personalizzata .
  3. Fare clic su Avanti .
  4. Seleziona la scheda progetto vuota .
  5. Fai clic su Inizia a costruire .
  6. Inserisci Spelling Practice per il nome visualizzato e fai clic su Salva.

Gli utenti iniziano la conversazione con la tua azione tramite invocazione . Ad esempio, gli utenti possono richiamare la tua azione pronunciando una frase come "Ehi Google, parla con Spelling Practice", dove Spelling Practice è il nome visualizzato.

La tua azione deve avere un nome visualizzato se desideri distribuirla in produzione; tuttavia, per testare l'azione, non è necessario definire il nome visualizzato. Puoi invece utilizzare la frase "Parla con la mia app di prova" nel simulatore per richiamare la tua azione.

Configura l'adempimento

Devi connettere all'Assistente i gestori eventi per Cloud Functions che hai scritto e distribuito in precedenza in questo codelab.

Per configurare la tua evasione, segui questi passaggi:

  1. Fai clic su Webhook nella navigazione laterale.
  2. Seleziona l'endpoint HTTPS come opzione di evasione:

d523bf003e96e66f.png

  1. Inserisci l'URL dell'endpoint della tua funzione nella casella di testo Endpoint HTTPs , quindi fai clic su Salva .

be53e2cd0d914d54.png

Nella sezione successiva personalizzerai la richiesta per la tua chiamata principale nella console delle azioni.

Imposta l'invocazione principale

È necessario modificare l' invocazione principale per definire cosa succede dopo che un utente invoca la tua azione.

Per impostazione predefinita, Actions Builder fornisce un prompt generico quando viene attivata l'invocazione ( "Inizia a creare l'azione definendo l'invocazione principale.").

Per modificare la richiesta che la tua Azione invia all'utente quando richiama la tua Azione, procedi nel seguente modo:

  1. Fare clic su Invocazione principale nella navigazione.

9ff088c04c995cde.png

  1. Seleziona Call your webhook e aggiungi il nome del gestore eventi getSpellingWordList nella casella di testo.
  2. Nell'editor del codice, sostituisci il testo nel campo speech con il seguente messaggio di benvenuto: Welcome to Spelling Practice

Nota: puoi utilizzare la formattazione YAML o JSON per modificare i tuoi prompt.

  1. Fare clic su Salva .

Testare l'invocazione principale nel simulatore

La console delle azioni fornisce uno strumento Web per testare l'azione chiamato simulatore . L'interfaccia simula i dispositivi hardware e le relative impostazioni, così puoi conversare con la tua Action come se fosse in esecuzione su uno Smart Display, telefono, altoparlante o KaiOS.

Per testare l'invocazione principale della tua azione nel simulatore, segui questi passaggi:

  1. Nella barra di navigazione in alto, fai clic su Test per accedere al simulatore.
  2. Per richiamare la tua azione nel simulatore, digita Talk to Spelling Practice nel campo di input in alto a sinistra, quindi premi Invio sulla tastiera.

651fc8da1ac9aa0a.png

Quando attivi l'invocazione principale della tua Azione, l'Assistente risponde con il tuo messaggio di benvenuto personalizzato. A questo punto la conversazione termina dopo che l'Assistente risponde con un saluto.

Visualizza i registri eventi

Quando ti trovi nella scheda Test , il pannello a destra mostra i registri eventi , che visualizzano la cronologia delle conversazioni come registri eventi. Ogni registro eventi visualizza gli eventi che si verificano durante quel turno della conversazione. Per visualizzare il registro eventi fare clic sull'icona grigia prima dell'evento.

La tua azione attualmente ha un registro eventi, che mostra sia l'input dell'utente ( "Parla con Spelling Practice" ) sia la risposta della tua azione. La schermata seguente mostra il registro eventi dell'azione:

a6fb192f94426824.png

11. Costruisci la conversazione per la pratica di ortografia

Ora che hai definito cosa succede dopo che un utente invoca la tua Azione, puoi costruire il resto della conversazione della tua Azione. Spelling Practice ha quattro scene e devi attivare ciascuna scena prima che possa essere eseguita. Il modo più comune per attivare una scena è configurare la tua Azione in modo che, quando un utente corrisponde a un intento utente all'interno di una scena, tale intento attivi la transizione a un'altra scena e la attivi.

Transizione dall'invocazione principale alla scena iniziale

In questa sezione crei una nuova scena chiamata Start , che invia un messaggio all'utente chiedendo se desidera iniziare a giocare a Spelling Practice . Aggiungi anche una transizione dall'invocazione principale alla nuova scena Start .

Per creare questa scena e aggiungervi una transizione, segui questi passaggi:

  1. Fai clic su Sviluppa nella barra di navigazione in alto. Quindi, fai clic su Invocazione principale nel riquadro di navigazione a sinistra.
  2. Nella sezione Transizione a destra, fai clic sul menu a discesa, quindi digita Start nel campo di testo.

dd4f1807a57f794d.png

  1. Fare clic su Aggiungi . Questo crea una scena chiamata Start e indica all'Azione di passare alla scena Start dopo che l'Azione ha inviato il messaggio di benvenuto all'utente.
  2. Fai clic su Scene nel riquadro di navigazione a sinistra per visualizzare l'elenco delle scene.
  3. In Scene , fai clic su Avvia per visualizzare la scena Start .
  4. Fare clic su + nella sezione All'immissione della scena Start .
  5. Seleziona Invia richieste .
  6. Sostituisci la frase nel campo speech ( Enter the response that users will see or hear... ) con una domanda da porre all'utente: Use phonetic alphabet to spell the word. For example alpha for a, bravo for b, charlie for c etc. Do you want to continue?

I chip di suggerimento offrono suggerimenti selezionabili per l'utente che l'azione elabora come input dell'utente. In questa sezione aggiungi i chip suggerimento che appaiono sotto il messaggio appena configurato ( Do you want to play

Spelling Practice

? ) per supportare gli utenti su dispositivi dotati di schermi.

Per aggiungere chip di suggerimento al prompt della scena Start , segui questi passaggi:

  1. Nella scena Start , fai clic su suggerimenti sotto l'editor di codice. Questa azione aggiunge un singolo chip suggerimento.
  2. Nel campo title , sostituisci Suggested Response con 'Yes' .
  3. Utilizzando la stessa formattazione, aggiungi manualmente un chip di suggerimento intitolato 'No' e 'Help with Phonetics' . Il tuo codice dovrebbe assomigliare al seguente snippet:
  4. Fare clic su Salva .

5ff2ecdc56801b91.png

Metti alla prova la tua azione nel simulatore

A questo punto, la tua azione dovrebbe passare dall'invocazione principale alla scena iniziale e chiedere all'utente se desidera continuare. Sul display simulato dovrebbero apparire anche i chip dei suggerimenti.

Per testare la tua azione nel simulatore, segui questi passaggi:

  1. Nella barra di navigazione, fai clic su Test per accedere al simulatore.
  2. Per testare la tua azione nel simulatore, digita Talk to Spelling Practice nel campo di input.
  3. Premere Invio . La tua azione dovrebbe rispondere con il prompt Main invocation e il prompt aggiunto Start scena , "Benvenuti nell'esercizio di ortografia. Usa l'alfabeto fonetico per scrivere la parola. Ad esempio alfa per a, bravo per b, charlie per c ecc. Vuoi Continua?" .

La schermata seguente mostra questa interazione:

338c9570b02a618e.png

  1. Fare clic sul chip di suggerimento Yes o No o Help with Phonetics per rispondere alla richiesta. (Puoi anche dire "Sì" o "No" o "Aiuto con la fonetica" oppure inserire Yes o No o Help with Phonetics nel campo di immissione .)

Quando rispondi alla richiesta, la tua Azione risponde con un messaggio che indica che non può comprendere il tuo input: "Scusa, non ho capito. Puoi riprovare?" Poiché non hai ancora configurato la tua Azione per comprendere e rispondere all'input "Sì" o "No" , la tua Azione abbina il tuo input a un intento NO_MATCH .

Per impostazione predefinita, l'intento di sistema NO_MATCH fornisce risposte generiche, ma puoi personalizzare queste risposte per indicare all'utente che non hai compreso il suo input. L'Assistente termina la conversazione dell'utente con la tua Azione dopo che non riesce a trovare una corrispondenza con l'input dell'utente per tre volte.

Aggiungi no e intenti fonetici

Ora che gli utenti possono rispondere alla domanda posta dalla tua Azione, puoi configurare la tua Azione per comprendere le risposte degli utenti ( "Sì" o "No" o "Aiuto con la fonetica" ). Nelle sezioni seguenti, crei intenti utente che corrispondono quando l'utente dice "Sì" o "No" o "Aiuto con la fonetica" e aggiungi questi intenti alla scena Start . Utilizzeremo l'intento di sistema yes e creeremo altri intenti.

Non creare no intenzione

Ora, devi creare il no intento di comprendere e rispondere all'utente quando non vuole giocare. Per creare questo intento, attenersi alla seguente procedura:

  1. Fai clic su Sviluppa nella navigazione.
  2. Fai clic su Intenti personalizzati nella navigazione per aprire l'elenco degli intenti.
  3. Fare clic su + (segno più) alla fine dell'elenco di intenti. Assegna un nome al nuovo intento no e premi Invio .
  4. Fare clic su No per aprire la pagina no intenti.
  5. Nella sezione Aggiungi frasi di formazione , fai clic sulla casella di testo Inserisci frase e inserisci le seguenti frasi:
  • No
  • N
  • I don't want
  • nope

98b0c9a7b67ea9b9.png

  1. Fare clic su Salva .

Non aggiungere no intento alla scena Start

Ora, l'Action può capire quando un utente sta esprimendo "no" o qualcosa di simile a "no" , come "no" . È necessario aggiungere l'intento no user" alla scena Start perché l'utente sta rispondendo al prompt Start (" Benvenuti in Spelling Practice. Utilizza l'alfabeto fonetico per scrivere la parola. Ad esempio alfa per a, bravo per b, charlie per c ecc. Vuoi continuare?" ).

Per aggiungere questo intento per la scena Start , attenersi alla seguente procedura:

  1. Fare clic sulla scena Inizia nella navigazione.
  2. Fare clic sul + (segno più) nella scena Start accanto a Gestione intenti dell'utente.
  3. Nella sezione Intento , seleziona no nel menu a discesa.

51f752e78c8b4942.png

  1. Fare clic su Invia richieste e aggiornare il campo speech con il testo seguente: Good Bye .

Il codice nel tuo editor dovrebbe assomigliare al seguente snippet:

candidates:
  - first_simple:
      variants:
        - speech: >-
             Goodbye.
  1. Nella sezione Transizione , seleziona Termina conversazione dal menu a discesa.
  2. Fare clic su Salva .

no testare alcun intento nel simulatore

A questo punto, la tua Azione capisce quando l'utente non vuole giocare e restituisce la risposta appropriata.

Per testare questo intento nel simulatore, attenersi alla seguente procedura:

  1. Nella barra di navigazione, fai clic su Test .
  2. Digita Talk to Spelling Practice nel campo di immissione e premi Enter .
  3. Digitare No nel campo di input e premere Invio. In alternativa, fai clic sul chip Nessun suggerimento.

7727a456b522f31b.png

Aggiungi l'intento del sistema YES alla scena Start

Ora aggiungeremo l'intento SYSTEM "YES" alla scena Start , poiché l'utente sta rispondendo sì al prompt Start (" Welcome to Spelling Practice. Usa l'alfabeto fonetico per scrivere la parola. Ad esempio alpha per a, bravo per b, charlie per c ecc. Vuoi continuare?" ).

Per aggiungere questa intenzione dell'utente alla scena Start , attenersi alla seguente procedura:

  1. Fare clic sulla scena Inizia nella navigazione.
  2. Fai clic sul + (segno più) nella scena Start accanto a Gestione intenti dell'utente .
  3. In Tutti gli intenti di sistema, seleziona nel menu a discesa dell'intento.

f6cbe789cde49e8f.png

  1. Fai clic su Chiama il tuo webhook e aggiorna la casella di testo event handler con la funzione creata in precedenza: getSpellingWordList
  2. Nella sezione Transizione , fai clic sul menu a discesa e seleziona Termina conversazione .
  3. Fare clic su Salva .

Prova l'intento YES nel simulatore

A questo punto, la tua Azione capisce quando l'utente vuole giocare e restituisce la risposta appropriata.

Per testare questo intento nel simulatore, attenersi alla seguente procedura:

  1. Nella barra di navigazione, fai clic su Test .
  2. Per testare la tua azione nel simulatore, digita Talk to Spelling Practice nel campo di immissione e premi Invio .
  3. Digitare Yes nel campo di input e premere Invio . In alternativa, fare clic sul chip del suggerimento Yes .

La tua azione recupera un elenco di tutte le parole di esercitazione di ortografia e le memorizza nella sessione. La tua Azione quindi termina la sessione perché hai selezionato la transizione End conversation per l'intento YES .

Crea intento Phonetics

Per creare l'intento Phonetics , attenersi alla seguente procedura:

  1. Fai clic su Sviluppa nella navigazione.
  2. Fai clic su Intenti personalizzati nella navigazione per aprire l'elenco degli intenti.
  3. Fare clic su + (segno più) alla fine dell'elenco di intenti. Assegna un nome alla nuova phonetics dell'intento e premi Enter .
  4. Fare clic sull'intento phonetics per aprire la pagina dell'intento phonetics .
  5. Nella sezione Aggiungi frasi di formazione, fai clic sulla casella di testo Inserisci frase e inserisci le seguenti frasi:
  • how do I spell words
  • phonetics
  • help me with phonetics
  • phonetic alphabet

1455bdfca8dae46.png

  1. Fare clic su Salva .

Aggiungi l'intento phonetics alla scena Start

Ora, l'Azione può capire quando un utente esprime un intento "fonetico" . Puoi aggiungere l'intento dell'utente phonetics alla scena Start , poiché l'utente sta rispondendo al prompt Start (" Benvenuti in Spelling Practice. Usa l'alfabeto fonetico per scrivere la parola. Ad esempio alfa per a, bravo per b, charlie per c ecc. Vuoi continuare?" ).

Per aggiungere questa intenzione dell'utente alla scena Start , attenersi alla seguente procedura:

  1. Fare clic sulla scena Inizia nella navigazione.
  2. Fare clic sul + (segno più) nella scena Start accanto a Gestione intenti dell'utente.
  3. Seleziona la fonetica nel menu a discesa dell'intento.

67ee2e08000b2aee.png

  1. Nella sezione Transizione , fai clic sul menu a discesa e seleziona Termina conversazione.
  2. Fare clic su Salva .

Transizione dalla scena iniziale alla scena di ortografia

In questa sezione creerai una nuova scena chiamata Spelling , che invia una richiesta all'utente di scrivere la parola utilizzando l'alfabeto fonetico.

Per creare questa scena e aggiungervi una transizione, segui questi passaggi:

  1. Fai clic su Sviluppa nella barra di navigazione in alto. Quindi, fai clic su Avvia scena nel riquadro di navigazione a sinistra.
  2. Nella sezione Gestione intenzione dell'utente, fai clic when actions.intent.YES is matched e, a destra nella sezione di transizione , fai clic sul menu a discesa e digita Spelling nel campo di testo.
  3. Fare clic su Aggiungi . Questo crea una scena chiamata Spelling e dice all'azione di passare alla scena Spelling dopo la corrispondenza con l'intento SÌ.
  4. Espandi Scene nella barra di navigazione a sinistra per mostrare l'elenco delle scene.
  5. In Scene , fai clic su Ortografia per visualizzare la scena Spelling .
  6. Fare clic su + nella sezione All'immissione della scena Spelling .
  7. Fai clic su Chiama il tuo webhook e inserisci getSpellingWord nella casella di testo del gestore eventi.
  8. Seleziona Invia richieste .
  9. Sostituisci la frase nel campo speech ( Enter the response that users will see or hear... ) con {} . Il prompt effettivo verrà popolato dal webhook.

I chip di suggerimento offrono suggerimenti selezionabili per l'utente che l'azione elabora come input dell'utente.

Per aggiungere chip di suggerimento al prompt della scena Spelling , segui questi passaggi:

  1. Nella scena Spelling , fai clic su suggerimenti sotto l'editor di codice. Questa azione aggiunge tre gettoni suggerimento.
  2. Nel campo title , sostituisci Suggested Response con 'Repeat' .
  3. Utilizzando la stessa formattazione, aggiungi manualmente un chip di suggerimento denominato 'Skip' .
  4. Utilizzando la stessa formattazione, aggiungi manualmente un chip di suggerimento denominato 'Quit' . Il tuo codice dovrebbe assomigliare al seguente snippet:
  5. Fare clic su Salva .
suggestions:
      - title: 'Repeat'
      - title: 'Skip'
      - title: 'Quit'

e1d437f714ea1539.png

Crea intento Repeat

Per creare l'intento repeat , attenersi alla seguente procedura:

  1. Fai clic su Sviluppa nella navigazione.
  2. Fai clic su Intenti personalizzati nella navigazione per aprire l'elenco degli intenti.
  3. Fare clic su + (segno più) alla fine dell'elenco di intenti. Assegna un nome al nuovo intento repeat e premi Enter .
  4. Fare clic sull'intento repeat per aprire la pagina dell'intento definition .
  5. Nella sezione Aggiungi frasi di formazione , fai clic sulla casella di testo Inserisci frase e inserisci le seguenti frasi:
  • one more time please
  • say the word again
  • repeat the word
  • tell me again
  • repeat

e61f0b9f80510bc9.png

  1. Fare clic su Salva .

Aggiungi intento repeat alla scena Spelling

Ora, l'Azione può capire quando un utente esprime un intento "ripetuto" . È possibile aggiungere l'intento dell'utente repeat alla scena Spelling , poiché l'utente sta rispondendo alla richiesta Spelling (" Scrivi la parola utilizzando l'alfabeto fonetico ").

Per aggiungere questa intenzione dell'utente alla scena Spelling , procedi nel seguente modo:

  1. Fai clic sulla scena Ortografia nella navigazione.
  2. Fai clic sul + (segno più) nella scena Spelling accanto a Gestione intenzione dell'utente .
  3. Seleziona Ripeti nel menu a discesa dell'intento.

5cfd623b25bedbed.png

  1. Seleziona Chiama il tuo webhook e inserisci ripetiSpellingWord nella casella di testo del gestore eventi per ottenere la definizione della parola.
  2. Seleziona Invia richieste .
  3. Sostituisci la frase nel campo speech ( Enter the response that users will see or hear... ) con ''. Il prompt effettivo verrà popolato dal webhook.

Aggiungi chip suggerimento a "Quando la ripetizione corrisponde"

  1. In " Quando la ripetizione corrisponde " in Gestione intenzione dell'utente, fai clic su suggerimenti sotto l'editor di codice. Questa azione aggiunge tre gettoni suggerimento.
  2. Nel campo title , sostituisci Suggested Response con 'Skip' .
  3. Utilizzando la stessa formattazione, aggiungi manualmente un chip di suggerimento intitolato 'Quit' . Il tuo codice dovrebbe assomigliare al seguente snippet:
suggestions:
      - title: 'Skip'
      - title: 'Quit'

ab40e4b0c432b97c.png

  1. Fare clic su Salva.

Creare l'intento definition

Per creare l'intento definition , attenersi alla seguente procedura:

  1. Fai clic su Sviluppa nella navigazione.
  2. Fai clic su Intenti personalizzati nella navigazione per aprire l'elenco degli intenti.
  3. Fare clic su + (segno più) alla fine dell'elenco di intenti. Assegna un nome alla nuova definition di intento e premi Enter .
  4. Fare clic sull'intento definition per aprire la pagina dell'intento definition .
  5. Nella sezione Aggiungi frasi di formazione , fai clic sulla casella di testo Inserisci frase e inserisci le seguenti frasi:
  • I would like to know the definition
  • tell me the definition
  • what does it mean
  • meaning
  • definition
  • what is the definition?

c1b88a9c0b1ac082.png

  1. Fare clic su Salva .

Aggiungi l'intento definition alla scena Spelling

Ora, l'Azione può capire quando un utente esprime un intento di "definizione" . È possibile aggiungere l'intento dell'utente definition alla scena Spelling , poiché l'utente sta rispondendo alla richiesta Spelling (" Scrivi la parola utilizzando l'alfabeto fonetico ").

Per aggiungere questo intento utente alla scena Spelling , segui questi passaggi:

  1. Fai clic sulla scena dell'ortografia nella navigazione.
  2. Fai clic sul + (più segno) nella scena Spelling accanto alla gestione degli intenti dell'utente .
  3. Seleziona Definizione nel discesa di intenti.

646bdcac3ad3eb0c.png

  1. Controlla il tuo Webhook e inserisci DefinitionOfspellingword nella casella di testo del gestore di eventi per ottenere la definizione delle parole.
  2. Controllare le istruzioni di invio .
  3. Sostituisci la frase nel campo speech ( Enter the response that users will see or hear... ) con '' `. Il prompt effettivo sarà popolato da Webhook.

Aggiungi chip di suggerimenti alla risposta del webhook

  1. Nella scena Start , fai clic su Suggerimenti sotto l'editor di codice. Questa azione aggiunge tre chip di suggerimento.
  2. Nel campo title , sostituire Suggested Response con 'Skip' .
  3. Usando la stessa formattazione, aggiungi manualmente un chip di suggerimento intitolato 'Quit' . Il tuo codice dovrebbe apparire come il seguente frammento:
suggestions:
      - title: 'Skip'
      - title: 'Quit'

25227545839d933f.png

  1. Fare clic su Salva .

Crea intenti skip

Per creare l'intento skip , seguire questi passaggi:

  1. Fare clic su Sviluppa nella navigazione.
  2. Fai clic su intenti nella navigazione per aprire l'elenco degli intenti.
  3. Fare clic su + (più segno) alla fine dell'elenco degli intenti. Nomina il nuovo intento skip e premere Enter .
  4. Fai clic sull'intenzione skip per aprire la pagina skip Intent.
  5. Nella sezione Aggiungi Frasi di allenamento , fai clic sulla casella di testo Invio frase e inserisci le seguenti frasi:
  • next word
  • go next
  • next
  • skip
  • skip word

D1C4908A3D7882F8.png

  1. Fare clic su Salva .

Aggiungi l'intenzione Skip alla scena Spelling

Ora, l'azione può capire quando un utente esprime un intento "salta" . È possibile aggiungere l'intento dell'utente skip alla scena Spelling , poiché l'utente sta rispondendo al prompt Spelling (" Incella la parola usando l'alfabeto fonetico ").

Per aggiungere questo intento utente alla scena Spelling , segui questi passaggi:

  1. Fai clic sulla scena dell'ortografia nella navigazione.
  2. Fai clic sul + (più segno) nella scena Spelling accanto all'utente Intent Handlin g.
  3. Seleziona salta nel disgelo intento.

5465f97542217964.png

  1. Nella sezione di transizione a destra, fare clic sul menu a discesa e selezionare Spelling .

C8072485CA82BD3F.PNG

  1. Fare clic su Salva .

Crea intento quit

Per creare l'intento Quit , segui questi passaggi:

  1. Fare clic su Sviluppa nella navigazione.
  2. Fai clic su intenti nella navigazione per aprire l'elenco degli intenti.
  3. Fare clic su + (più segno) alla fine dell'elenco degli intenti. Nomina il nuovo intento Quit e premere Enter .
  4. Fai clic sull'intenzione di Quit per aprire la pagina di intenti di definizione .
  5. Nella sezione Aggiungi Frasi di allenamento , fai clic sulla casella di testo Invio frase e inserisci le seguenti frasi:
  • I quit
  • Goodbye
  • Cancel
  • Exit
  • Quit

9916f77b8766541e.png

  1. Fai clic su Salva.

Aggiungi Quit alla scena Spelling

Ora, l'azione può capire quando un utente esprime un intento "smettere" . È possibile aggiungere l'intenzione dell'utente quit alla scena Spelling , poiché l'utente sta rispondendo al prompt Spelling (" Incella la parola usando l'alfabeto fonetico ").

Per aggiungere questo intento utente alla scena Spelling , segui questi passaggi:

  1. Fai clic sulla scena dell'ortografia nella navigazione.
  2. Fai clic sul + (più segno) nella scena Spelling accanto alla gestione degli intenti dell'utente .
  3. Seleziona ESCIO IN INTENTI A DENSIONE.

5f62fb18a3653d66.png

  1. Nella sezione di transizione a destra, fare clic sul menu a discesa e selezionare End conversation . 1ffbe35a7bbbb4b0.png
  2. Fare clic su Salva .

Crea tipo di phonetic_alphabet

In questa sezione, si crea un nuovo tipo chiamato phonetic_alphabet , che specifica le opzioni di alfabeto fonetico che gli utenti possono scegliere di scrivere la parola. Puoi anche definire alcuni sinonimi per queste opzioni nel caso in cui un utente dica qualcosa di simile. In una sezione successiva, si aggiunge il tipo di phonetic_alphabet a uno slot per specificare che si desidera ottenere la risposta dell'utente.

Per creare il tipo phonetic_alphabet , seguire questi passaggi:

  1. Fare clic su Sviluppa nella navigazione.
  2. Fare clic sul + (più segno) in tipi .
  3. Digita phonetic_alphabet e premere Enter .
  4. Fare clic su phonetic_alphabet per aprire le opzioni.
  5. In che tipo di valori questo tipo supporterà? sezione, selezionare l'opzione parole e sinonimi
  6. Immettere le seguenti voci e i valori corrispondenti nella sezione Aggiungi voci :

UN

Alpha, Apple, Amsterdam

B

Bravo, Butter, Baltimora

C

Charlie, Cat, Casablanca

D

Delta, cane, Danimarca

e

Echo, Edward, Edison

F

Foxtrot, Fox, Florida

G

Golf, George, Gallipoli

H

Hotel, Harry, L'Avana

io

India, inchiostro, Italia

J

Juliette, Johnny, Gerusalemme

K

chilo, re, chilogrammo

l

Lima, Love, Londra

M

Mike, denaro, Madagascar

N

Novembre, New York, Nancy

o

Oscar, Orange, Oslo

P

Papa, Parigi, Peter

Q

Quebec, regina

R

Romeo, Roma, Robert

S

Sierra, Sugar, Santiago

T

Tango, Tommy, Tripoli

tu

uniforme, ombrello, zio

v

Victor, aceto, Valencia

w

Whisky, William, Washington

X

raggi X

Yankee, giallo, Yorker

z

Zulu, Zebra, Zurigo

La tua tabella dei valore chiave dovrebbe apparire come le seguenti:

5b5a5cd9fa557e1b.png

  1. Fare clic su Salva .

Configurare il ripieno di slot

Successivamente, è necessario configurare il riempimento dello slot nella scena ortografica. Per configurare la logica di riempimento dello slot, seguire questi passaggi:

  1. Fai clic sulla scena dell'ortografia nella navigazione.
  2. Fai clic sul + (più segno) nella scena Spelling per il ripieno di slot .
  3. Nel campo Nome slot , aggiungi userresponse come nome slot.
  4. Nel tipo seleziona il tipo-down, selezionare Phonetic_alphabet come tipo di slot.
  5. Controlla questo slot accetta un elenco di valori
  6. Controllare che questo slot è richiesto .
  7. Seleziona l'opzione di WriteBack del valore di slot e immettere UserResponse nella casella di testo dei parametri di sessione.

BA57A419877A07F3.png

  1. Fare clic su Salva .

Aggiungi una condizione allo schermo Spelling

Per aggiungere una condizione alla scena Spelling , segui questi passaggi:

  1. Fai clic sulla scena dell'ortografia nella navigazione.
  2. Fai clic sul + (più segno) nella scena Spelling accanto alla condizione.
  3. Immettere scene.slots.status == "FINAL" come condizione
  4. Controlla il tuo Webhook e inserisci VerifysPellingword nella casella di testo del gestore eventi per verificare la risposta dell'utente.
  5. Controllare le istruzioni di invio.
  6. Sostituisci la frase nel campo speech ( Enter the response that users will see or hear... ) con {} . Il prompt effettivo sarà popolato da Webhook.

Aggiungi chip di suggerimenti alla risposta del webhook

  1. Nella scena Start , fai clic su Suggerimenti sotto l'editor di codice. Questa azione aggiunge tre chip di suggerimento.
  2. Nel campo title , sostituire Suggested Response con 'Next' .
  3. Usando la stessa formattazione, aggiungi manualmente un chip di suggerimento intitolato 'Quit' . Il tuo codice dovrebbe apparire come il seguente frammento:
suggestions:
      - title: 'Next'
      - title: 'Quit'

AC3D7A9366EBC1B1.png

  1. Fare clic su Salva .

12. Pratica dell'ortografia di prova nel simulatore

Per testare la tua azione nel simulatore, segui questi passaggi:

  1. Nella barra di navigazione, fai clic su Test per portarti al simulatore.
  2. Per testare la tua azione nel simulatore, digita Talk to Spelling Practice nel campo di input.
  3. Premere Invio . La tua azione dovrebbe rispondere con il prompt Main invocation e il prompt della scena Start aggiunta: "Benvenuti nella pratica ortografica. Usa l'alfabeto fonetico per scrivere la parola. Ad esempio Alpha per A, Bravo per B, Charlie per C ecc. Continua?" .
  4. di sì per continuare
  5. Il simulatore suonerà un suono di parole da scrivere
  6. Puoi scrivere la parola usando alfabeti fonetici. Ad esempio, per meglio dire o digitare "Bravo echo tango tango echo romeo"
  7. Il simulatore risponderà con la risposta corretta o errata.
  8. accanto per continuare la parola successiva o dire smettila di uscire dal loop del gioco.

13. Congratulazioni

Congratulazioni, hai costruito con successo il tuo gioco, le prove di ortografia !

Ora conosci i passaggi chiave necessari per creare un gioco utilizzando Cloud FireStore, Cloud Functions e Google Assistant Action Builder.

Quello che hai coperto

  • Come interagire con Cloud Firestore
  • Come utilizzare le slot per raccogliere dati dall'utente
  • Come elaborare l'input di un utente e restituire una risposta
  • Come usare le condizioni per aggiungere logica a una scena
  • Come aggiungere un ciclo di gioco

Risorse di apprendimento aggiuntive

Puoi esplorare queste risorse per imparare a costruire azioni per Google Assistant:

Pulisci il tuo progetto [consigliato]

Per evitare di incorrere in possibili addebiti, si consiglia di rimuovere i progetti che non si intendono utilizzare. Per eliminare i progetti creati in questo codelab, segui questi passaggi:

  1. Per eliminare il progetto e le risorse Firebase, completa i passaggi elencati nella sezione progetti di spegnimento (eliminazione) .

ATTENZIONE: assicurarsi di selezionare il progetto corretto per l'eliminazione nella pagina Impostazioni della console cloud di Google.

  1. Opzionale: per rimuovere immediatamente il progetto dalla console Azioni, completare i passaggi elencati nella sezione Eliminazione di un progetto . Se non si completa questo passaggio, il tuo progetto verrà rimosso automaticamente dopo circa 30 giorni.

Segui @ActionSongogle e @firebase su Twitter per rimanere sintonizzato sui nostri ultimi annunci e tweet a #Googleio per condividere ciò che hai costruito!