Nella prima parte abbiamo esplorato i concetti di base che stanno dietro la creazione di una skill Alexa pienamente funzionante e realizzata utilizzando la piattaforma chatbot Xenioo.
In questa seconda parte andremo a vedere nel dettaglio alcune funzionalità avanzate quali lo streaming audio, la gestione degli stati e l’account linking.
Riproduzione audio
Per inviare genericamente dell’ audio ad un dispositivo Alexa è possibile operare in due differenti modalità: attraverso l’invio di un piccolo campione, come per esempio un effetto sonoro, oppure attraverso l’invio di una più lunga e complessa sorgente in streaming.
Entrame le opzioni possono essere usate insieme in una stessa skill, pur funzionando in modo completamente diverso.
Per l’invio di un piccolo campione audio è sufficiente aggiungere al chatbot una Audio Action, specificando la sorgente del file.
Lascia pure tutti i campi vuoti (non è necessario aggiungere ulteriori informazioni per il nostro scopo) e ricordati unicamente di settare il flag “Embed in speech encoding if available”.
Questo flag servirà a Xenioo per automaticamente creare il messaggio SSML audio necessario a riprodurre il tuo mp3 su Alexa.
Se l’audio è lungo (pensa per esempio ad una canzone oppure un podcast) e vorresti dare all’utente la possibilità di mettere in pausa, saltare avanti oppure fermare la riproduzione, è necessario procedere con la seconda opzione di cui abbiamo parlato precedentemente: l’ Audio Streaming.
Streaming audio
Per abilitare lo streaming dell’audio è necessario informare la skill di questa nuova abilità, abilitando l’uso dell’interfaccia Audio Player.
Questa interfaccia deve essere abilitata all’interno della propria Alexa Developer Console.
Non appena questa interfaccia viene abilitata, noterai che sono stati aggiunti automaticamente alcuni nuovi intenti alla skill.
Questo sono gli intenti che Alexa definisce per consentire la navigazione standard di una playlist: riproduci(play), prossimo(next), precedente(previous), fermati(stop) e pausa(pause).
Tutti questi intenti sono gestiti direttamente utilizzando la sezione di AI di Xenioo: è sufficiente abbinare ogni intento Xenioo con la chiave di intento nativa di Alexa, esattamente come abbiamo visto nella prima parte dell’articolo.
Xenioo costruirà automaticamente il modello corretto per gestire la riproduzione streaming dell’audio.
Se per caso stai costruendo una skill multilingua, assicurati di duplicare tutti gli intenti per ogni lingua che desideri supportare: Xenioo costruirà automaticamente il modello Alexa per ogni lingua.
Lavorare con gli eventi di Alexa
Un aspetto importante da considerare quando si lavora con l’audio su Alexa è come rispondere ai cambi di stato che possono avvenire durante lo streaming.
Alexa ci consente di sapere non solo quando lo streaming ha avuto inizio, ma anche quando sta per finire oppure è terminato.
Inoltre sel’utente ferma oppure mette in pausa, Alexa ci comunica l’esatta posizione in cui lo streamin è stato fermato e se la playlist necessita di essere impostata, rinnovata oppure cancellata.
Tutti questi eventi sono automaticamente gestiti dal Xenioo e rediretti al flusso del chatbot per poter essere gestiti nel modo più opportuno.
L’approccio di Xenioo è sempre lo stesso: rimuovere tutti le cose inutili dal flusso mantenendo allo stesso tempo il controllo su tutto.
Le azioni chiave in questo caso sono l’azione Control Device State e l’azione Device State Switch. Entrambe queste azioni riceveranno i cambi di stato dal dispositivo Alexa e potranno quindi essere usate per gestire il flusso di conseguenza.
Account Linking
La funzionalità di Account Linking implementa una serie di procedure che possono essere utilizzate per collegare (link) una Skill Alexa con uno specifica registrazione(account) presso un servizio di terze parti.
Per esempio, un utente potrebbe utilizzare la skill unicamente avendo una sottoscrizione attiva al servizio che la skill eroga.
Una volta che l’account linking è stato correttamente configurato e la skill è collegata al servizio, in Xenioo si avrà a disposizione una variabile alexa_account_link_token_variable, disponibile ovunque nel flusso, la quale identifica univocamente l’utente(utile per esempio per chiamare delle api del servizio autenticandosi come quell’utente).
Pubblicazione finale della skill
Dopo aver implementato una skill capace di fare streaming di contenuti audio con tutte le funzionalità come descritto nei paragrafi precedenti, siamo senza dubbio pronti per andare in produzione.
Xenioo ha passato al 100% tutte le verifiche di sicurezza richieste dai servizi Amazon ed è perfettamente adatto ad “ospitare” anche le skill più avanzate.
Stai costruendo una skill per streaming dei tuoi contenuti? Vorresti avere il tuo podcast disponibile in una skill Alexa?
Bene! Abbiamo già costruito un template completo e pronto da pubblicare che copre esattamente quanto abbiamo visto in questo articolo. E’ gratuito e disponibile all’interno del tuo account Xenioo!
Entra in Xenioo e comincia a lavorarci oggi stesso!