Aplicațiile vocale schimbă complet modul în care interacționăm cu lumea digitală. Vocea adaugă o altă dimensiune interacțiunii om-computer pe care dezvoltatorii încep să o exploreze.

În acest articol, vă voi arăta cum puteți utiliza arhitectura backend și API-urile existente, conectându-le cu aplicațiile vocale pentru a oferi clienților dvs. o nouă experiență. Aplicațiile vocale împrumută mult din procesul nostru general de dezvoltare, fără a necesita resurse de dezvoltare separate.

Ce construim

Vom construi o aplicație de căutare super-eroi folosind API Open Source Superhero.

Am adăugat un wrapper în jurul acestui API pentru a-l face accesibil din aplicația noastră Voice. Puteți găsi codul în acest esențial – https://gist.github.com/akash-joshi/476ead410a244a48e037c138ba2387b0.

Aruncați o privire la aplicația completată de mai jos:

Vom construi acest lucru pentru aplicațiile Voice (Alexa și Google). Vom folosi platforma VoiceFlow, care ne permite să construim aplicații vocale vizual.

Tutorial Voiceflow

VoiceFlow este un mod vizual de a crea aplicații vocale și este foarte ușor de utilizat și de înțeles.

În primul rând, creați un cont acolo pentru a începe.

După crearea unui cont, creați un proiect nou, dându-i un nume adecvat. În scopul acestui tutorial, am ales toate regiunile englezești ca regiuni de implementare.

Alexa si Google Home Cum sa va creati propriile aplicatii

După aceasta, veți ajunge pe o pânză goală. Nu vă lăsați copleșiți de toate opțiunile prezente pe ecran, acest tutorial vă va ghida prin toate blocurile relevante necesare.

În submeniul blocuri din stânga, veți vedea mai multe blocuri care pot fi utilizate pentru a construi o abilitate Alexa sau Google. Fiecare bloc îndeplinește o anumită funcție, iar Voiceflow se bazează pe crearea de aplicații Voice prin combinarea acestor blocuri.

1. Vorbește bloc

Primul bloc pe care îl vom folosi este blocul Speak. Îl vom folosi pentru a face Alexa să spună ceva utilizatorului. Trageți un blog de vorbire pe pânză, redenumiți-l în Introducere și scrieți o introducere adecvată aplicației dvs. în zona de text. Voi folosi „Bun venit la super-erou! Spune numele unui erou de căutat!”.

În orice moment, testați-vă aplicația făcând clic pe butonul Redare.

1611318310 122 Alexa si Google Home Cum sa va creati propriile aplicatii

2. Blocare captură

Următorul bloc pe care îl vom folosi este blocul Capture. Este folosit pentru a captura date din vocea utilizatorului și a le stoca într-o variabilă.

În primul rând, creați o nouă variabilă în submeniul „Variabile” din stânga, tastând un nume și apăsând Enter. Folosiți numele „erou” pentru moment.

1611318310 799 Alexa si Google Home Cum sa va creati propriile aplicatii

Adăugând un bloc de captură, denumiți „Tip de intrare” ca „Actor” și „Captură intrare către” ca „erou”.

1611318311 193 Alexa si Google Home Cum sa va creati propriile aplicatii

Adăugați un bloc de vorbire după acesta, spunând: „Se caută {erou}. “. Folosim paranteze cretate pentru a utiliza o variabilă în vorbire. Asigurați-vă că introduceți {eroul} manual, astfel încât Voiceflow să-l detecteze ca o variabilă. este o etichetă care face parte dintr-un limbaj numit Speech Synthesis Markup Language (SSML). Puteți citi mai multe despre aceasta pe Amazon pagina documentației oficiale.

1611318312 721 Alexa si Google Home Cum sa va creati propriile aplicatii

3. Bloc API

Faceți clic pe pictograma Plus de sub blocul Speak pentru a adăuga un alt pas la bloc. Adăugați un bloc de integrare din listă. După aceea, faceți clic pe blocul de integrare și configurați opțiunile în această ordine:

  1. Alegeți o integrare – „API personalizat”, deoarece vom folosi un API personalizat pentru a obține unele date.
1611318312 78 Alexa si Google Home Cum sa va creati propriile aplicatii

2. Vreau să „Faceți o solicitare GET”, deoarece folosim o solicitare GET pentru a obține date JSON dintr-un API.

1611318312 994 Alexa si Google Home Cum sa va creati propriile aplicatii

Vom folosi un API personalizat (https://super-search-akashjoshi.flexiple.now.sh/?hero=) pentru a obține datele supereroilor.

Încercați să navigați la https://super-search-akashjoshi.flexiple.now.sh/?hero=superman în browserul dvs. pentru a vedea ce tip de date sunt returnate de API. A inlocui supraom cu orice erou pe care doriți să-l căutați.

Înlocuim numele eroului cu variabila {erou}, astfel încât API să preia corect eroul dorit.

Pastă

https://super-search-akashjoshi.flexiple.now.sh/?hero={hero}

în bara URL. Asigurați-vă că introduceți {hero} de unul singur, astfel încât Voiceflow să-l detecteze ca o variabilă.

1611318313 993 Alexa si Google Home Cum sa va creati propriile aplicatii

Cu toate acestea, încă nu am terminat. Faceți clic pe Test Integration pentru a testa apelul API.

Răspunsul de la API trebuie să fie mapat în variabile de ieșire, astfel încât să fie comunicate utilizatorului.

Adăugați variabile pentru nume, nume complet, naștere, aliniere, lucru și bază din bara laterală a variabilelor.

Copiați calea de ieșire a fișierului JSON făcând clic pe fila de răspuns din fila Test Integration și lipiți-o în meniul de ieșire. Faceți acest lucru pentru toate următoarele – nume, nume complet, născut, aliniere, lucru și bază.

Verificați scurtul videoclip de mai jos pentru a înțelege cum să mapați ieșirea JSON cu variabilele voastre de flux:

1611318313 534 Alexa si Google Home Cum sa va creati propriile aplicatii

În imaginea de mai sus, putem vedea că Integrarea are 2 ieșiri, una fără text prefix și una cu eșec ca prefix. Cel fără textul prefix este o ieșire de stare de succes, iar cel cu ieșire de eșec este atunci când apelul nostru API eșuează.

Adăugați un bloc de vorbire care spune „Eroul nu a fost găsit” conectat la starea de eșec. Dacă API-ul reușește și a fost găsit un erou care se potrivește cu variabila {erou}, toate variabilele de ieșire vor fi setate cu valorile corecte. În caz contrar, vor fi la valoarea implicită 0.

4. Dacă Blocare

Adăugați un bloc if pe pânză și verificați dacă fullName = 0. Dacă este 0, conectați-l la blocul „Not Found”.

Urmăriți scurtul videoclip de mai jos pentru a înțelege cum să adăugați condiții la blocurile If:

Altfel, eroul a fost găsit. Deci, rostiți numele eroului scriind într-un bloc de vorbire: „Numele eroului lor este {name}. Numele lor complet este {fullName}. S-au născut în {born}. Sunt {alignment}. Funcționează ca o {work } din {base}. Doriți să căutați un alt erou? “

Din nou, asigurați-vă că introduceți numele variabilelor, astfel încât Voiceflow să le detecteze ca variabile.

Pentru a șterge variabilele după finalizarea abilității, adăugați un bloc „Set” pe pânză și setați fullName la 0. Acest pas este necesar, deoarece dacă variabilele nu sunt șterse, răspunsul anterior va fi repetat de către abilitate!

1611318314 482 Alexa si Google Home Cum sa va creati propriile aplicatii

5. Blocul de alegere

Nu ar trebui să punem capăt priceperii aici. Ar trebui să îi oferim utilizatorului posibilitatea de a alege dacă vrea să caute un alt supererou. Schimbați textul din blocul „Nu s-a găsit” pentru a întreba dacă utilizatorul dorește să caute mai multe la final.

Adăugați un bloc Choice pe pânză. Blocul de alegere ne permite să efectuăm anumite acțiuni pe baza vocii utilizatorului. Acest bloc verifică dacă utilizatorul dorește să caute un alt erou. Introduceți sinonime pentru Da pentru a căuta mai departe.

1611318315 468 Alexa si Google Home Cum sa va creati propriile aplicatii

Pentru altceva, adăugați un bloc Flow, selectând Stop Flow ca flux.

1611318315 708 Alexa si Google Home Cum sa va creati propriile aplicatii

Conectați ieșirea „1” a blocului Choice la un bloc de vorbire cerând utilizatorului să spună un alt nume de erou și conectați-l la blocul Capture. Uită-te la imaginea de mai jos pentru a înțelege cum se face.

1611318316 444 Alexa si Google Home Cum sa va creati propriile aplicatii

Și am terminat! Testați-vă aplicația făcând clic pe butonul de redare.

6. Implementare

A. Alexa

Pentru a vă deplasa aplicația pe platforma Alexa, faceți clic pe fila Publicați, conectați contul de dezvoltator Amazon și completați opțiunile formularului în funcție de relevanța pentru abilitățile dvs. (cum ar fi Descriere, Numele abilităților etc.)

Asigurați-vă că nu modificați niciuna dintre invocațiile implicite care vă pot rupe abilitățile în timpul implementării și vă pot determina să o retrimiteți.

În cazul în care greșiți o parte în timp ce trimiteți, procesul de examinare este foarte util și vă vor anunța ce nu a funcționat corect în trimitere.

b. Google

Faceți clic pe linkul de instrucțiuni pentru a vedea instrucțiuni pentru a adăuga fișierul Asistent Google la Voiceflow. După adăugarea fișierului, urmați ghidul de publicare la producție din aici . Puține avertismente în procesul de implementare Google:

  1. Numele invocării dvs. nu poate avea cuvinte cheie care pot fi utilizate în timpul invocării. De exemplu, nu puteți denumi acțiunea „Căutare supereroi”, deoarece „Căutare” poate fi folosită ca nume de invocație.
  2. Trebuie să adăugați o politică de confidențialitate personalizată de la Google. Nu îl puteți utiliza pe cel de la Voiceflow deoarece conține mențiuni despre Alexa sau abilități, ceea ce va face ca acțiunea dvs. să fie refuzată. Puteți utiliza un șablon pe care l-am construit aici. Are instrucțiuni despre cum să scrieți politica de confidențialitate și unde să o păstrați.
  3. Ultimul punct ar fi să nu folosiți termenul „Alexa” sau „abilitate” în niciun moment din descrierea acțiunii dvs. sau în cadrul aplicației. Dacă există apariții în aplicație, înlocuiți-le cu ceva mai generic, astfel încât să puteți utiliza aceeași bază de cod pentru Alexa și Google. Înlocuiți „Alexa” și „abilitate” cu „Google” și „acțiuni” în descriere și în locuri similare.

Ce urmează?

Idei de aplicații:

Punctul interesant despre aplicațiile vocale este că le puteți folosi ca extensie pentru aplicațiile dvs. existente. De exemplu, dacă ați creat deja o aplicație de mesagerie de genul Aceasta, platforma vocală poate fi o modalitate ușoară de a trimite și citi mesaje pe aplicația dvs. Pentru o platformă de scriere de bloguri, o aplicație vocală poate fi o modalitate ușoară de a lua notițe înainte de a vă așeza efectiv pentru a scrie un articol. Chiar și pentru o platformă de postare a produselor ProductHunt sau Instrumente de la distanță, puteți integra cu ușurință vocea pentru a citi descrierea și alte detalii despre produse.

În astfel de moduri, aplicațiile vocale pot fi utilizate pentru a îmbunătăți experiența utilizatorului.

Link-uri utile:

https://getvoiceflow.com

https://learn.voiceflow.com/articles/2705386-uploading-your-project-to-google-assistant

https://learn.voiceflow.com

https://developer.amazon.com/docs/custom-skills/speech-synthesis-markup-language-ssml-reference.html

Sper că ți-a plăcut acest articol. Am scris și un articol mai extins care adaugă un frontend bazat pe web acestei aplicații, făcându-l un ecosistem complet.

Codificare fericită!