Creare azioni per l'Assistente Google utilizzando Actions Builder (livello 2)

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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 più di un miliardo di dispositivi, tra cui smart speaker, telefoni, auto, TV, cuffie e altro ancora. Gli utenti interagiscono con l'assistente in una conversazione per svolgere diverse attività, ad esempio fare la spesa o prenotare una corsa. In qualità di sviluppatore, puoi utilizzare la piattaforma per sviluppatori dell'assistente per creare e gestire facilmente esperienze di conversazione piacevoli ed efficaci tra gli utenti e il tuo servizio di distribuzione di terze parti.

Questo codelab tratta concetti di livello intermedio per lo sviluppo con l'Assistente Google e si basa sull'azione creata nel codelab di livello 1. Ti consigliamo vivamente di completare il codelab di livello 1 prima di iniziare questo.

L'Azione che crei in questo codelab comunica agli utenti la loro missione per una missione in un paese mitologico, Gryffinberg, in base agli aiuti scelti.

Cosa devi creare

In questo codelab, creerai una sofisticata azione di conversazione con le seguenti funzioni:

  • Raccoglie i dati dall'utente e, a seconda del valore, modifica le richieste di conversazione
  • Risponde alle domande successive per approfondire la conversazione
  • Crea un ciclo di gioco in modo che un utente possa interagire di nuovo con l'azione dopo aver ricevuto una fortuna

Prima di iniziare a creare, puoi interagire con l'azione dal vivo sul tuo dispositivo con l'Assistente Google integrato dicendo "Hey Google, parla con Fate e Fortune". Il percorso predefinito di questa azione per un utente di ritorno è simile alla seguente interazione:

dd6f5c61296b8b50.png

eba043f546aa8c51.png

Obiettivi didattici

  • Come utilizzare gli slot per raccogliere i dati dell'utente
  • Come utilizzare le condizioni per aggiungere logica a una scena
  • Come aggiungere un ciclo di gioco
  • Come aggiungere un percorso di supporto

Che cosa ti serve

I prerequisiti per questo codelab includono:

Suggeriamo, anche se non è obbligatorio, la conoscenza di JavaScript (ES6) per comprendere il codice di evasione per questo codelab.

2. Continua a creare l'interfaccia di conversazione

Nel primo codelab, hai creato una semplice azione di conversazione con una singola scena, Start.

In questo codelab, estendi la conversazione della tua azione. Nelle sezioni seguenti, puoi configurare l'Azione in modo che:

  • Passa a una nuova scena di Fortune quando l'utente vuole ascoltare la sua fortuna
  • Chiedi all'utente quale aiuto vuole scegliere per il suo percorso
  • Comunica un futuro personalizzato in base alla scelta dell'utente

Crea scena Fortune

In questa sezione creerai la scena Fortune e definirai la modalità di transizione dell'utente durante la conversazione.

Per creare una nuova scena chiamata Fortune, segui questi passaggi:

  1. Apri il progetto Actions di livello 1 del codelab.
  2. Fai clic su Sviluppo nella barra di navigazione.
  3. Nella sezione Scene, fai clic sulla scena Inizio.
  4. Fai clic sull'intent yes (la casella Quando sì è abbinato) per aprire le opzioni.
  5. Cancella Invia richieste per rimuovere la richiesta.
  6. Nella sezione Transizione, fai clic sul menu a discesa, fai clic nella casella di testo e digita Fortune.
  7. Fai clic su Aggiungi. Viene creata una nuova scena chiamata Fortune. Inoltre, aggiunge una transizione dalla scena Start alla scena Fortune quando l'utente vuole ascoltare la sua fortuna.

56682a0c7459b98c.png

Definisci logica di conversazione per la scena Fortune

In questo codelab, configurerai la scena Fortune in modo che chieda all'utente "Cosa sceglierai per aiutarti nella tua missione, un drago, un traduttore o una bussolatroppet; Prima di procedere, puoi utilizzare una funzionalità chiamata riempimento slot per raccogliere le informazioni necessarie dall'utente.

La tua azione offre fortuna per tre ausili: un drago, un traduttore e una bussola. Per configurare l'azione in modo da identificare queste tre opzioni nell'input di un utente, devi creare un nuovo tipo.

Puoi utilizzare i tipi all'interno della fase di riempimento delle aree di una scena per definire le informazioni che ti interessano dall'utente. Quando il motore NLU rileva una corrispondenza dell'area in ingresso dell'utente, estrae l'area come un parametro digitato, in modo che tu possa eseguire la logica con essa in una scena.

Crea tipo di available_options

In questa sezione creerai un nuovo tipo chiamato available_options, che specifica le tre opzioni che gli utenti possono scegliere (dragon, traduttore e bussola) in risposta al prompt. Puoi anche definire alcuni sinonimi per queste opzioni nel caso in cui un utente dica qualcosa di simile. In una sezione successiva, aggiungi il tipo available_options a un'area per specificare che vuoi ottenere la scelta dell'utente.

Per creare il tipo available_options, segui questi passaggi:

  1. Nella barra di navigazione, fai clic su Tipi.
  2. Fai clic su + (segno più), digita available_options e premi Enter.
  3. Fai clic su available_options per aprire le opzioni.

I tipi sono configurati come coppie chiave-valore delle informazioni, dove key è il nome del tipo e i valori sono sinonimi per quella chiave. Quando definisci la chiave, questa viene aggiunta automaticamente come valore.

Per aggiungere le tre opzioni selezionabili dall'utente:

  1. Scorri fino alla sezione Aggiungi voci.
  2. Nel campo Nuova voce, digita dragon e premi Enter. Questa azione crea una chiave dragon.
  3. Digita hydra nel campo Aggiungi valori e premi Enter per aggiungerlo come valore (sinonimi). Quindi ripeti questo passaggio per il valore lizard.
  4. Aggiungi le altre chiavi e i valori corrispondenti:
  • translator | translator, communicator, machine, decoder e translate
  • compass | compass, direction e guide

8333b1b67445f21.png

  1. Fai clic su Salva.

Ora la tua azione comprende che available_options è un drago, un traduttore e una bussola e può anche riconoscere alcuni sinonimi corrispondenti.

Configura riempimento slot

Il passaggio successivo prevede la configurazione del riempimento dell'area nella scena di Fortune. Per configurare la logica di riempimento delle aree annuncio, procedi nel seguente modo:

  1. Nella barra di navigazione, in Scene, fai clic su Fortune.
  2. Nella scena Fortune, fai clic sul + (segno più) per Riempimento slot.
  3. Nel campo Inserisci nome area, aggiungi chosenOptions come nome dell'area.
  4. Nell'elenco a discesa Seleziona tipo, seleziona available_options come tipo di area annuncio.
  5. Seleziona la casella di controllo Questo spazio è obbligatorio.

a461b906476e244.png

  1. Seleziona Invia messaggi e aggiungi i seguenti chip di messaggi e suggerimenti:
candidates:
  - first_simple:
      variants:
        - speech: >-
            What do you choose to help you on your quest, a dragon, a
            translator, or a compass?
    suggestions:
      - title: 'Dragon'
      - title: 'Translator'
      - title: 'Compass'
  1. Fai clic su Salva.

Hai aggiunto il tipo available_options all'area annuncio, per indicare all'azione le informazioni che devi raccogliere dall'utente (scelta dell'aiuto) prima di procedere. Hai anche configurato un prompt all'interno dell'area annuncio, che viene aggiunto alla coda dei messaggi quando l'utente raggiunge la fase di riempimento dell'area.

Tieni presente che quando hai assegnato il nome all'area chosenOptions, il campo Personalizza il valore di scrittura dell'area viene aggiornato con lo stesso nome ($session.params.chosenOptions). Puoi accedere a questo parametro con il nome in Actions Builder e nella tua distribuzione tramite la libreria client.

Configura la condizione scene.slots.status == "FINAL"

Quando aggiungi un'area, la condizione scene.slots.status == "FINAL" viene aggiunta automaticamente all'elenco delle condizioni.

La condizione scene.slots.status == "FINAL" verifica il completamento del riempimento dell'area. Quando tutti gli slot sono riempiti, la condizione può attivare un webhook, passare a una nuova scena o aggiungere richieste alla coda dei prompt.

In questa sezione configurerai scene.slots.status == "FINAL" per aggiungere una richiesta alla coda dei messaggi una volta riempiti gli slot.

Per aggiungere questo messaggio alla condizione FINAL, segui questi passaggi:

  1. Fai clic su scene.slots.status == "FINAL" per aprire la finestra delle opzioni.
  2. Seleziona Invia messaggi e aggiungi il seguente messaggio:
candidates:
  - first_simple:
      variants:
        - speech: You picked $session.params.chosenOptions.
  1. Fai clic su Salva.

Verifica l'azione nel simulatore

A questo punto, hai definito le opzioni che l'utente deve scegliere per riempire l'area annuncio. Dopo aver ottenuto queste informazioni dall'utente, l'Azione deve fornire un suggerimento che faccia riferimento all'opzione specifica scelta.

Per testare l'Azione:

  1. Nella barra di navigazione, fai clic su Testa.
  2. Fai clic o digita Talk to my test app nel campo Input e premi Enter.
  3. Digita Yes nel campo Input e premi Enter. In alternativa, puoi fare clic sul chip di suggerimento .

a899d45c542668f6.png

  1. Fai clic o digita dragon. Dovresti ricevere la richiesta "Hai scelto il drago.&brt;

Nella sezione successiva, potrai personalizzare le richieste di assistenza per ciascun utente che può selezionare.

Personalizzare le richieste usando condizioni

In questa sezione aggiungi le condizioni per ogni opzione che l'utente può scegliere e aggiungi un messaggio personalizzato per ogni condizione.

Personalizza la fortuna dragon

Per aggiornare la condizione e personalizzare la richiesta relativa a un utente che sceglie "dragon", segui questi passaggi:

  1. Fai clic su Sviluppo nella barra di navigazione.
  2. Nella barra di navigazione, fai clic sulla scena Fortune.
  3. Fai clic su scene.slots.status == "FINAL" per aprire la finestra delle opzioni.
  4. Aggiorna l'istruzione della condizione a: scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon"
  5. Seleziona Invia messaggi.
  6. Aggiorna il prompt con la seguente fortuna nell'editor di codice:
candidates:
  - first_simple:
      variants:
        - speech: >-
            The people of Gryffinberg will be awestruck by the beauty and power
            of the ancient dragon. Much to your dismay, the townspeople fall
            into dispute over who will receive the honor of riding the dragon
            first. You return home from your quest without everlasting glory or
            a dragon.
  1. Fai clic su Salva.

d31767232ad908bd.png

Ora, quando un utente dice "dragon" o qualcosa di simile, la tua azione fornisce una fortuna in base a tale selezione. Successivamente, aggiungi le due selezioni rimanenti.

Personalizza la fortuna translator

Per aggiungere la condizione e personalizzare la richiesta di quando un utente sceglie "Traduzione", segui questi passaggi:

  1. Fai clic sul + (segno più) accanto a Condizione.
  2. Aggiungi scene.slots.status == "FINAL" && session.params.chosenOptions == "translator" al campo else se.
  3. Seleziona Invia messaggi.
  4. Aggiungi il seguente prompt nell'editor di codice:
candidates:
  - first_simple:
      variants:
        - speech: >-
            With the help of the translator, the rival factions in Gryffinberg
            are finally able to communicate with each other and resolve their
            disputes. You will complete your quest to restore peace in the town.
            The translator will be used on many subsequent journeys across the
            earth. After its work is done, it retires honorably to a premier
            location in the Gryffinberg History Museum.
  1. Fai clic su Salva.

c1af65e70dbf3dfe.png

Personalizza la fortuna compass

Per aggiungere la condizione e personalizzare la richiesta di quando un utente sceglie "compass", segui questi passaggi:

  1. Fai clic sul + (segno più) accanto a Condizione.
  2. Aggiungi scene.slots.status == "FINAL" && session.params.chosenOptions == "compass" alla casella di testo else se.
  3. Seleziona Invia messaggi.
  4. Aggiungi il seguente prompt nell'editor di codice:
candidates:
  - first_simple:
      variants:
        - speech: >-
            The compass will help you find the mystical and ancient Library of
            Gryffinberg. Among its infinite stacks of dusty books, you find one
            entitled "Wisdom of the Ages". By the time you've read the
            50,000-page tome, the townspeople have forgotten their problems. You
            will write a second edition of "Wisdom of the Ages", but have
            limited commercial success.
  1. Fai clic su Salva.

Verifica l'azione nel simulatore

A questo punto, l'azione deve fornire una fortuna personalizzata per l'utente in base all'opzione selezionata.

Per testare l'Azione:

  1. Nella barra di navigazione, fai clic su Testa.
  2. Digita Talk to my test app nel campo Input e premi Enter.
  3. Digita Yes nel campo Input e premi Enter. In alternativa, fai clic sul chip di suggerimento .
  4. Fai clic o digita Translator.

29e17f950bd0dd71.png

Dovresti ricevere la fortuna appropriata per l'opzione "quottor".

3. Aggiungi ciclo di gioco

In questa sezione configurerai l'azione in modo che l'utente possa selezionare un'altra opzione e ascoltare una fortuna diversa dopo aver effettuato una selezione. Questo cambiamento è simile a un messaggio "Do you want to play again🚀quot; alla fine di un gioco. Per creare questo loop, puoi riutilizzare gli intent yes e no creati in precedenza e aggiungerli a una nuova scena chiamata Again.

Crea scena Again

In questa sezione creerai una nuova scena di Again e aggiungerai un messaggio che chiede all'utente se vuole selezionare un'opzione diversa.

Per creare la scena Again:

  1. Fai clic su Sviluppo nella barra di navigazione.
  2. Fai clic sul + (segno più) in Scene.
  3. Digita Again e premi Enter.
  4. Fai clic sulla scena di Again nella barra di navigazione.
  5. Fai clic sul segno più + accanto a Invio.
  6. Seleziona Invia messaggi e aggiungi i seguenti chip di prompt e suggerimenti:
candidates:
  - first_simple:
      variants:
        - speech: >-
            That is what I see for you. Would you like to choose a different option and
            explore another future?
    suggestions:
      - title: 'Yes'
      - title: 'No'
  1. Fai clic su Salva.

Aggiungi transizione da Fortune a Again scena

Dopo aver ricevuto la fortuna, l'utente deve passare alla nuova scena di Again.

Per aggiungere una transizione dalla scena Fortune alla scena Again, segui questa procedura:

  1. Fai clic sulla scena Fortune.
  2. Fai clic sulla prima condizione (scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon") per aprire la finestra delle opzioni.
  3. Scorri e seleziona Again in Transizione.
  4. Fai clic su Salva.
  5. Fai clic sulla seconda condizione per aprire la finestra delle opzioni.
  6. Scorri e seleziona Again in Transizione.
  7. Fai clic su Salva.
  8. Fai clic sulla terza condizione per aprire la finestra delle opzioni.
  9. Scorri e seleziona Again in Transizione.
  10. Fai clic su Salva.

Verifica l'azione nel simulatore

A questo punto, l'Azione deve fornire la seguente richiesta all'utente dopo aver ricevuto la sua fortuna: "Questo è quello che vedo per te. Vorresti scegliere un'altra opzione ed esplorare il prossimo licenziamento?

Per testare l'Azione:

  1. Nella barra di navigazione, fai clic su Testa.
  2. Digita Talk to my test app nel campo Input e premi Enter.
  3. Digita Yes nel campo Input e premi Enter. In alternativa, fai clic sul chip di suggerimento .
  4. Fai clic o digita dragon.

b299e9fed9aedb69.png

Dovresti ricevere la fortuna con l'opzione drago e il messaggio Again.

Aggiungi intent e passa alla scena Again

In questa sezione vengono aggiunti gli intent yes e no alla scena Again in modo che l'Azione possa capire se l'utente vuole scegliere o meno una nuova opzione. Aggiungi anche le transizioni appropriate per gli intent yes e no. L'intent yes passa alla scena Fortune, mentre l'intent no passa alla scena di sistema End conversation.

Per aggiungere intent e transizioni alla scena Again, segui questi passaggi:

  1. Fai clic su Sviluppo nella barra di navigazione.
  2. Fai clic sulla scena Again.
  3. Fai clic sul + (segno più) accanto a Gestione intenzione utente.
  4. Seleziona dal menu a discesa dell'intent.
  5. Seleziona Fortune dal menu a discesa Transizione.
  6. Fai clic su Salva.

c2efba35ea881b0d.png

  1. Fai clic sul + (segno più) accanto a Gestione intenzione utente.
  2. Seleziona no dal menu a discesa degli intent.
  3. Seleziona Termina conversazione dal menu a discesa Transizione.
  4. Seleziona Invia messaggi e aggiungi il seguente prompt nell'editor di codice:
candidates:
  - first_simple:
      variants:
        - speech: >-
            It pleases me that you are satisfied with your choice. Best of luck on your quest. Farewell.
  1. Fai clic su Salva.

Verifica l'azione nel simulatore

Ora l'azione dovrebbe comprendere se l'utente vuole scegliere una nuova opzione o terminare la conversazione.

Per verificare l'intent yes, segui questi passaggi:

  1. Nella barra di navigazione, fai clic su Testa.
  2. Digita Talk to my test app nel campo Input e premi Enter.
  3. Digita Yes nel campo Input e premi Enter. In alternativa, fai clic sul chip di suggerimento .
  4. Fai clic, digita o di' una delle opzioni.
  5. Digita Yes nel campo Input e premi Enter.

5d0690332efe2e29.png

Dovresti ricevere la richiesta "che cosa scegli per aiutarti con la tua missione, un drago, un traduttore o una bussolatroquot;

Per verificare l'intent no, segui questi passaggi:

  1. Fai clic, digita o di' una delle opzioni.
  2. Digita No nel campo di immissione e premi Enter.

Dovrebbe essere visualizzato il messaggio End conversation: "Sono felice che la tua scelta ti soddisfi. Ti auguro buona fortuna nella missione. Addio.

4. Aggiungi un percorso di supporto

Hai creato il percorso principale della maggior parte degli utenti per l'azione. Tuttavia, l'utente potrebbe rispondere alla richiesta dalla scena Fortune, "Che cosa sceglierai per aiutarti con la tua missione, un drago, un traduttore o un bussola commissione, con una scelta che non è una delle opzioni fornite.

In questa sezione puoi configurare l'Azione per capire quando un utente sceglie "magico", "denaro", "denaro" e "cavallo", o "telefono" e chiedere all'utente di selezionare una delle tre opzioni originali quando sceglie una di queste opzioni. Per configurare questa logica, devi creare un nuovo elemento type che contenga queste altre scelte e una nuova intenzione, other_option, che viene soddisfatta quando un utente pronuncia una di queste opzioni. Devi inoltre annotare le frasi di addestramento all'interno dell'intent other_option per identificare ed estrarre i parametri di intent.

Quando il motore di elaborazione del linguaggio naturale (NLU) dell'assistente rileva una corrispondenza di parametro nell'input utente, estrae il valore come parametro digitato, in modo che tu possa eseguire la logica con tale scena in una scena. In questo codelab, configurerai l'azione per estrarre l'aiuto che l'utente sceglie e fare riferimento a quella scelta in un messaggio.

Crea tipo di unavailable_options

Ora puoi creare un tipo unavailable_options che contiene svariate opzioni per consentire alla tua azione di identificare tali dati nell'input di un utente.

Per creare il tipo unavailable_options, segui questi passaggi:

  1. Fai clic su Sviluppo nella barra di navigazione.
  2. Fai clic sul + (segno più) in Tipi.
  3. Digita unavailable_options e premi Enter.
  4. Fai clic su unavailable_options per aprire le opzioni.
  5. Inserisci le seguenti voci e i valori corrispondenti nella sezione Aggiungi voci:

horse

horse, stallion e steed

magic

magic, enchanted e spells

money

money, cash e gold

phone

phone, cell e apps

La tabella delle coppie chiave-valore dovrebbe avere il seguente aspetto:

c9e119e0f5fb2a47.png

  1. Fai clic su Salva.

Crea un intent other_option

In seguito, crei un intent chiamato other_option e aggiungi frasi di addestramento che includono le opzioni del tipo unavailable_options. Questo intent viene trovato in corrispondenza quando l'utente seleziona una scelta contenuta all'interno del tipo unavailable_options.

Per creare e configurare l'intent other_option, segui questi passaggi:

  1. Fai clic sul segno più + in Intent personalizzati.
  2. Digita other_option e premi Enter.
  3. Fai clic su other_option per aprire la finestra.
  4. Aggiungi le seguenti frasi di addestramento e premi Enter dopo ogni voce:
  • I want to use spells
  • I really really want to use a phone
  • magic!
  • cash
  • I want to ride a horse
  1. Nella sezione Aggiungi parametri per intent, aggiorna il nome del parametro a chosenUnavailableOption.
  2. Fai clic su Salva.

Man mano che inserisci le frasi di addestramento, Actions Builder riconosce spells, phone, magic, cash e horse dal tipo unavailable_options e evidenzia automaticamente tali parole. Actions Builder aggiunge automaticamente un parametro di intent nella sezione Aggiungi parametri di intent, come illustrato nell'immagine seguente.

Il parametro per intent ti consente di estrarre il nome dell'opzione e utilizzarla nel prompt.

df61d4489f0910.png

Aggiungi un intent other_option alla scena Fortune

Ora è disponibile un intent, other_option, in grado di gestire un utente che specifica un'opzione che non è una delle opzioni originali. In questa sezione aggiungi l'intent other_option alla scena Fortune. Puoi utilizzare il parametro intent per personalizzare la richiesta in base all'input dell'utente.

Per aggiungere l'intent other_option alla scena Fortune, segui questi passaggi:

  1. Fai clic sulla scena Fortune.
  2. Fai clic sul + (segno più) accanto a Gestione intenzione utente.
  3. Seleziona other_option dal menu a discesa dell'intent.
  4. Seleziona Invia messaggi e aggiungi il seguente messaggio:
candidates:
  - first_simple:
      variants:
        - speech: >-
            I have seen the future and a $intent.params.chosenUnavailableOption.original
            will not aid you on your journey. 

L'espressione $intent.params.chosenUnavailableOption si riferisce all'oggetto parametro dell'intent, mentre $intent.params.chosenUnavailableOption.original al valore dell'oggetto. original property si riferisce all'input non elaborato specificato dall'utente.

  1. Fai clic su Salva.

4bab1efbe21056aa.png

Quando un utente dice un'opzione elencata nel tipo unavailable_options durante la scena di Fortune, l'intent other_option viene abbinato e aggiunge un messaggio alla coda dei messaggi. Poiché non è stata specificata alcuna transizione, il loop di esecuzione della scena continua rivalutando la fase delle condizioni. L'area chosenOptions aggiunge la richiesta alla coda dei messaggi e quest'ultima viene recapitata all'utente.

Verifica l'azione nel simulatore

Adesso l'azione dovrebbe rispondere in modo appropriato quando un utente seleziona una delle opzioni elencate nel tipo di unavailable_options e specificare quale aiuto ha selezionato l'utente. L'azione deve poi indurre l'utente a scegliere una delle scelte originali (un drago, un traduttore o una bussola).

Per testare l'Azione nel simulatore, procedi nel seguente modo:

  1. Nella barra di navigazione, fai clic su Testa.
  2. Digita Talk to my test app nel campo Input e premi Enter.
  3. Digita Yes nel campo Input e premi Enter. In alternativa, fai clic sul chip di suggerimento .
  4. Digita magic nel campo Input e premi Enter.

3a42c33eca435f32.png

Potresti notare che il messaggio non sembra corretto quando l'utente sceglie "magico" a causa del "articolo" che lo precede. Puoi risolvere il problema nelle sezioni seguenti.

Aggiungi gestore unavailable_options

Per inserire l'articolo "a" prima delle scelte appropriate del tipo unavailable_options, puoi configurare un gestore di eventi nella logica di fulfillment per verificare se l'opzione scelta dall'utente richiede un carattere "prima". Innanzitutto, devi configurare l'azione per chiamare il gestore nella console.

Per aggiungere il gestore unavailable_options, segui questi passaggi:

  1. Fai clic su Sviluppo nella barra di navigazione.
  2. Fai clic sulla scena Fortune.
  3. In Gestione intent dell'utente, fai clic su Quando un'altra_opzione corrisponde per aprire la finestra.
  4. Deseleziona la casella di controllo Invia richieste.
  5. Seleziona la casella di controllo Chiama il tuo webhook.
  6. Inserisci unavailable_options nella casella di testo per il gestore di eventi.

52a0fba115f1b377.png

  1. Fai clic su Salva.

Aggiorna ed esegui il deployment del fulfillment

Ora che hai configurato l'azione per chiamare il gestore di eventi unavailable_options, puoi aggiornare il gestore nel tuo fulfillment ed eseguirne il deployment.

Per aggiornare la distribuzione, procedi nel seguente modo:

  1. Fai clic su Webhook nella barra di navigazione.
  2. Aggiungi il seguente codice nel gestore greeting:
app.handle('unavailable_options', conv => {
  const option = conv.intent.params.chosenUnavailableOption.original;
  const optionKey = conv.intent.params.chosenUnavailableOption.resolved;
  let message = 'I have seen the future and ';
  if(optionsNeedA.has(optionKey)){
    message = message + 'a ';
  }
  message = message + `${option} will not aid you on your journey. `;
  conv.add(message);
});
  1. Aggiungi il seguente codice in const app = conversation();:
const optionsNeedA = new Set();
optionsNeedA.add('horse').add('phone');
  1. Fai clic su Salva completamento.
  2. Fai clic su Deploy Fulfillment. Al termine del deployment, un messaggio sopra l'editor indicherà Il deployment della funzione Cloud Functions è aggiornato.

Comprendere il codice

Il gestore unavailable_options esegue le seguenti operazioni:

  • Visualizza i dati option dall'oggetto conv e assegna option alla proprietà original, che è l'input non elaborato dell'utente
  • Assegna optionKey alla proprietà resolved, che è la chiave del tipo unavailable_options.
  • Controlla se optionKey è una delle opzioni che richiedono"a";
  • Aggiunge il messaggio tramite conv.add(message)

Verifica l'azione nel simulatore

Ora l'Azione dovrebbe modificare la richiesta in base alla scelta dell'utente dal tipo unavailable_options se è necessario un articolo"prima".

Per testare l'Azione:

  1. Nella barra di navigazione, fai clic su Testa.
  2. Fai clic o digita Talk to my test app nel campo Input e premi Enter.
  3. Digita Yes nel campo Input e premi Enter. In alternativa, fai clic sul chip di suggerimento .
  4. Digita magic nel campo Input e premi Enter.
  5. Digita horse nel campo Input e premi Enter.

54ee24c5c3c56e.png

La tua azione dovrebbe aggiungere "l'articolo" prima dell'articolo "cavallo", creando la richiesta senza "l'articolo" per la scelta "magica".

Ripulire il progetto [consigliato]

Per evitare che non vengano addebitati costi, ti consigliamo di rimuovere i progetti che non intendi utilizzare. Per eliminare i progetti creati in questo codelab, segui questi passaggi:

  1. Per eliminare il progetto cloud e le risorse, completa i passaggi elencati nella sezione Arresto (eliminazione) dei progetti.
  1. (Facoltativo) Per rimuovere immediatamente il progetto dalla Console Actions, consulta Eliminare un progetto. Se non completi questo passaggio, il tuo progetto verrà rimosso automaticamente dopo circa 30 giorni.

5. Complimenti!

Hai acquisito le competenze intermedie necessarie per creare Azioni per l'Assistente Google.

Argomenti trattati

  • Come sviluppare azioni di conversazione con la libreria di distribuzione Node.js
  • Come utilizzare gli slot per raccogliere dati dall'utente
  • Come usare le condizioni per aggiungere logica alla scena
  • Come aggiungere un ciclo di gioco
  • Come aggiungere un percorso di supporto

Scopri di più

Consulta le seguenti risorse per saperne di più sulla creazione di Azioni per l'Assistente Google:

Segui @ActionOnGoogle su Twitter per restare al passo con le nostre ultime comunicazioni e twittare a #AoGDevs per condividere ciò che hai creato.

Sondaggio di feedback

Prima di terminare, compila un breve sondaggio sulla tua esperienza.