Sommario:

Come creare un'abilità Alexa: 10 passaggi
Come creare un'abilità Alexa: 10 passaggi

Video: Come creare un'abilità Alexa: 10 passaggi

Video: Come creare un'abilità Alexa: 10 passaggi
Video: CREARE SKILL per AMAZON ALEXA in modo facile e veloce! | TUTORIAL 2024, Luglio
Anonim
Come creare un'abilità Alexa
Come creare un'abilità Alexa

Che cos'è un'abilità di Alexa?

Le competenze di Alexa sono come le app. Puoi abilitare e disabilitare le abilità, utilizzando l'app Alexa o un browser web, nello stesso modo in cui installi e disinstalli le app sul tuo smartphone o tablet. Le abilità sono funzionalità di Alexa a comando vocale. Puoi aggiungere le competenze di Alexa al tuo Echo per dare vita a prodotti e servizi. Puoi visualizzare le competenze disponibili e abilitarle o disabilitarle utilizzando l'App Alexa.

Questo tutorial ti mostra come creare un'abilità Alexa.

Obiettivo:

L'obiettivo è creare un'abilità che dica all'utente una parola tedesca divertente ogni volta, l'utente chiede.

Dimostrazione:

Per vedere come dovrebbe funzionare l'abilità in seguito, puoi testarla qui:

www.amazon.com/gp/product/B07ZH9GL9N?ref&r…

Forniture

  • Conoscenza nella programmazione
  • Nozioni di base su Node.js e Javascript

Passaggio 1: crea un account sviluppatore Amazon

Crea un account sviluppatore Amazon
Crea un account sviluppatore Amazon

Se non hai un account sviluppatore Amazon puoi registrarti qui. Altrimenti puoi accedere qui.

Passaggio 2: crea una nuova abilità

Crea una nuova abilità
Crea una nuova abilità
Crea una nuova abilità
Crea una nuova abilità
  1. Segui questo link:
  2. Fai clic su Crea abilità sul lato destro. Successivamente si apre una nuova pagina.
  3. Inserisci il nome della tua abilità (nel nostro caso: Parole tedesche divertenti) nel campo Nome abilità.
  4. Imposta la lingua nella casella di selezione della lingua predefinita su inglese (USA)
  5. Creeremo un'abilità personalizzata, quindi scegliamo il modello personalizzato
  6. In Scegli un metodo per ospitare le risorse di backend delle tue competenze scegliamo Alexa-Hosted (Node.js)
  7. Al termine, fai clic su Crea abilità
  8. Si apre una nuova finestra

Passaggio 3: saluta l'utente

Saluta l'utente
Saluta l'utente

La prima cosa che un utente fa con la tua abilità è aprirlo. L'intento, che apre la competenza, è già implementato nel codice di esempio e non deve più essere aggiunto.

  1. Apri la scheda Codice → Si apre la finestra del codice con il file index.js

    Ogni gestore di intenti ha due funzioni

    • può gestire()
    • maneggiare()

    La funzione canHandle() include la richiesta a cui risponde il gestore.

    La funzione handle() invia una risposta all'utente.

    Se una competenza riceve una richiesta, viene chiamata la funzione canHandle() di ogni gestore di intenti e verifica se può inviare una risposta a quella richiesta.

  2. Nella funzione handle() del LaunchRequestHandler eliminare l'intero codice e incollare quanto segue in seguito:

    const speakOutput = 'Benvenuto in Divertenti parole tedesche. Scopri quali parole divertenti ha da offrire la lingua tedesca e cosa significano. Vuoi sentire una parola divertente?';

    const repromptText = 'Vuoi ascoltare una divertente parola tedesca?'; return handlerInput.responseBuilder.speak(speakOutput).reprompt(repromptText).getResponse();

  3. Fare clic su Salva e distribuisci.

Il gestore dell'intento di aiuto deve essere modificato in modo che corrisponda all'abilità. Elimina il codice della funzione handle() e inserisci questo:

const speakOutput = 'Scopri quali parole divertenti ha da offrire la lingua tedesca e cosa significano. Vuoi sentire una parola divertente?';

const repromptText = 'Vuoi ascoltare una divertente parola tedesca?'; return handlerInput.responseBuilder.speak(speakOutput).reprompt(repromptText).getResponse();

Al termine, fai clic su Salva e distribuisci.

Passaggio 4: prova il saluto

Prova il saluto
Prova il saluto
Prova il saluto
Prova il saluto

Ogni volta che hai più funzionalità alla tua abilità, prova se funziona davvero, per scoprire in caso di errore, dove potrebbe essere l'errore.

  1. Fare clic sulla scheda Test → Si apre una nuova finestra.
  2. Attivare l'ambiente di test, selezionando Sviluppo nella casella di selezione.
  3. Scrivi o parla: "apri parole tedesche divertenti" → L'abilità dovrebbe ora rispondere con il saluto.

Passaggio 5: aggiungi intenti

Aggiungi intenti
Aggiungi intenti
Aggiungi intenti
Aggiungi intenti
Aggiungi intenti
Aggiungi intenti

Ora aggiungeremo opportunità su come un utente può interagire con la tua abilità. Gli intenti consentono di reagire correttamente dopo frasi speciali e di attivare successivamente il gestore corretto.

  1. Fare clic sulla scheda Costruisci → Si apre la finestra Costruisci.
  2. La barra di navigazione a destra mostra tutti gli intenti attivati. Prima di tutto, elimina HelloWorldIntent.
  3. Successivamente, fai clic sul pulsante Aggiungi accanto alla scheda degli intenti nella barra di navigazione.

Prima di tutto, aggiungiamo alcuni intenti integrati dalla libreria integrata di Alexa

  1. Fai clic su Usa un intento esistente dalla libreria integrata di Alexa
  2. Cerca YesIntent e NoIntent e fai clic su aggiungi per entrambi.

Ora aggiungiamo il nostro intento personalizzato.

  1. Fai clic su Crea intento personalizzato
  2. Dai il nome TellAFunnyWordIntent all'intento
  3. Fai clic su Crea intento personalizzato

Ora aggiungeremo alcune frasi di esempio al nostro intento. Le frasi di esempio sono frasi che l'utente potrebbe pronunciare. Basta inserire queste frasi di esempio:

  • dimmi una parola
  • dimmi una parola tedesca divertente
  • una parola
  • una parola divertente
  • per dirmi una parola

Naturalmente ci sono molte più frasi che l'utente potrebbe dire. Puoi estendere l'intento se lo desideri, ma al momento ci stiamo concentrando sulla funzionalità.

Dopo aver aggiunto le frasi, cliccare su Save Model e successivamente su Build Model. Al termine della compilazione, torna alla scheda Codice.

Passaggio 6: aggiungi parole divertenti

Per far sì che la nostra abilità dica parole divertenti, ha bisogno prima di alcune parole divertenti.

Per questo, crea un nuovo file chiamato words.json nella cartella lambda.

Inserisci queste parole nel file words.json:

[{ "word": "Lebensabschnittpartner", "explanation": "Questa parola è descritta principalmente come un'altra opzione per il partner o l'amante, ma con una svolta più transitoria." }, { "parola": "Unabhängigkeitserklärungen", "spiegazione": "Questa parola descrive la dichiarazione di indipendenza." }, { "word": "Freundschaftsbezeugung", "explanation": "È la dimostrazione dell'amicizia." }, { "word": "Rechtsschutzversicherungsgesellschaften", "explanation": "Il Guinness dei primati riconosce questa parola ingombrante come la parola tedesca più lunga nell'uso quotidiano. Significa compagnie di assicurazione che forniscono protezione legale." }, { "word": "Kaftfahrzeug-Haftpflichtversicherung", "explanation": "Si riferisce a un'assicurazione di responsabilità civile per veicoli a motore". }, { "word": "Donaudampfschiffahrtsgesellschaftskapitän", "explanation": "Questa parola continua il tema del trasporto ed è composta da quattro parole messe insieme ordinatamente per dire capitano della compagnia di navigazione del Danubio." }]

Ovviamente puoi aggiungere più parole se ne conosci alcune. Ma per il test dovrebbe già funzionare.

Fare nuovamente clic su Salva e distribuisci.

Passaggio 7: aggiungere gestori di intenti

Gli intenti creati in precedenza ora necessitano di un gestore, che viene attivato da un intento. Il NoIntentHandler chiude la competenza. YesIntentHandler e TellAFunnyWordIntentHandler rispondono con una parola divertente e la sua spiegazione.

Elimina l'intero HelloWorldIntentHandler dal file index.js e aggiungi invece tre nuovi:

const TellAFunnyWordIntentHandler = {

canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'TellAFunnyWordIntent'; }, handle(handlerInput) { const parole = JSON.parse(fs.readFileSync('./words.json')); const parola = parole[Math.floor(Math.random() * parole.lunghezza)]; const speakOutput = parola.parola + '. ' + parola.spiegazione; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } }; const YesIntentHandler = { canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'AMAZON. YesIntent'; }, handle(handlerInput) { const parole = JSON.parse(fs.readFileSync('./words.json')); const parola = parole[Math.floor(Math.random() * parole.lunghezza)]; const speakOutput = parola.parola + '. ' + parola.spiegazione; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } }; const NoIntentHandler = { canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'AMAZON. NoIntent'; }, handle(handlerInput) { const speakOutput = 'Okay, forse un'altra volta.'; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } };

Passaggio 8: registrare i gestori di intenti

Ora dobbiamo registrare i nuovi gestori di intenti. Per questo, scorri fino alla fine del file index.js.

Sostituisci questo:

exports.handler = Alexa. SkillBuilders.custom()

.addRequestHandlers(LaunchRequestHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // assicurati che IntentReflectorHandler sia l'ultimo in modo che non sovrascriva i tuoi gestori di intent personalizzati).addErrorHandlers,(la)

con quello:

exports.handler = Alexa. SkillBuilders.custom()

.addRequestHandlers(LaunchRequestHandler, TellAFunnyWordIntentHandler, YesIntentHandler, NoIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // assicurati che IntentReflectorHandler abbia l'ultimo override del tuo intento,).

Successivamente, fai nuovamente clic su Salva e distribuisci. Al termine della distribuzione, prova di nuovo l'abilità.

Passaggio 9: prova l'abilità

  1. Fare clic sulla scheda Test → Si apre una nuova finestra.
  2. Scrivi o parla: "apri parole tedesche divertenti" → L'abilità dovrebbe ora rispondere con il saluto.
  3. Scrivi o parla: "dimmi una parola tedesca divertente" → L'abilità dovrebbe ora dire una delle parole.

Se tutto funziona, puoi già inviare la tua abilità.

Passaggio 10: imposta l'anteprima delle abilità e invia per la revisione

Imposta l'anteprima delle abilità e invia per la revisione
Imposta l'anteprima delle abilità e invia per la revisione

Riempi tutte le caselle di testo richieste con la tua descrizione personale dell'abilità.

In Frasi di esempio scrivi:

  • Alexa, apri Parole tedesche divertenti.
  • Alexa, chiedi a Funny German Words di dirmi una parola divertente.

Dopo aver compilato tutti i campi richiesti e dopo aver caricato le icone, clicca su Salva e continua.

Scegli le risposte corrette in Privacy & Compilazione e in Disponibilità.

Si prega di dare un'occhiata alla lista di controllo prima di inviare

Ora devi eseguire alcuni test. Questo può richiedere del tempo.

Successivamente puoi inviare la tua abilità per la revisione. Ci vorranno 1 o 2 giorni prima di ricevere un feedback sulla tua abilità. Se hai fatto tutto bene, la tua abilità verrà pubblicata subito dopo la revisione.

Se vuoi già provare l'abilità, ma è ancora in certificazione, puoi sempre usare questa abilità:

www.amazon.com/gp/product/B07ZH9GL9N?ref&ref=cm_sw_em_r_as_dp_uCOJljYBKfNx9

Consigliato: