de Terren Peterson

Cum să creați o abilitate Alexa care reușește liste de sarcini

Cum sa creati o abilitate Alexa care reuseste liste de
Curtoazie de RitaE pe Pixabay

Sunt recunoscut ca Amazon Alexa Campion și au publicat peste douăzeci de abilități personalizate pe platformă. Continu să caut noi modalități de a extinde această tehnologie și un domeniu recent pe care l-am explorat este utilizarea Alexa pentru a ajuta la organizarea sarcinilor de zi cu zi. Una dintre caracteristicile subutilizate de pe platformă este capacitatea de a crea liste personalizate. Aici este o scurtă recenzie a modului în care puteți profita de această caracteristică și vă rugăm să nu ezitați să testați Abilități de planificare a antrenamentelor – este gratis!

Cum sa creati o abilitate Alexa care reuseste liste de
Abilitate de planificare a antrenamentelor Alexa

fundal

Dispozitivele hands-free precum Alexa deschid posibilitățile de a construi asistenți digitali la îndemână. Una dintre primele caracteristici care a fost activată cu dispozitivul nativ a fost posibilitatea de a crea liste de cumpărături. Având în vedere moștenirea cu amănuntul a Amazonului, nu este de mirare că acest lucru a venit devreme. A spune fraze precum „adaugă șampon la lista mea de cumpărături” îl adaugă în contul Amazon al utilizatorului. De asemenea, redă datele despre alte aplicații la care utilizatorul este conectat.

Nu aduceți Alexa la sala de sport, aduceți o listă

După ce am folosit o perioadă funcția de listă de cumpărături, am început să mă gândesc la alte tipuri de liste pe care aș putea să le creez. Dispozitivul are capacitatea de a crea liste personalizate și m-am gândit că ar putea fi util în organizarea antrenamentelor mele. În loc să aduc o listă de antrenament scrisă de mână, aș putea face una folosind vocea mea.

Am scris o abilitate personalizată Alexa numită Workout Planner care punea întrebări despre ce tipuri de exerciții să faceți. Apoi a creat o listă pe care să o pot urmări. Iată o captură de ecran a ceea ce creează abilitatea pe telefonul meu.

1611310506 923 Cum sa creati o abilitate Alexa care reuseste liste de

Arhitectură pentru a utiliza listele Alexa

Funcționalitatea de bază din jurul listelor este activată printr-un API API care gestionează entitățile care sunt redate în aplicația însoțitoare Alexa.

Într-o arhitectură tipică de abilități Alexa, API-ul este invocat din funcția Lambda care conține funcționalitatea abilității. Datele transmise în apelul API indică dacă ar trebui creată o nouă listă, ce articol ar trebui adăugat, dacă un articol poate fi trecut de pe listă și așa mai departe. Aplicația însoțitoare gestionează toate interacțiunile utilizatorului cu datele din listă, fără efort suplimentar de către dezvoltatorul de abilități. Utilizatorul are apoi posibilitatea de a gestiona această listă prin intermediul aplicației însoțitoare, inclusiv marcarea articolelor ca fiind complete.

1611310506 22 Cum sa creati o abilitate Alexa care reuseste liste de

Interfața vocală este aceeași cu orice abilitate Alexa. Crearea unei abilități personalizate include configurarea unor exemple de enunțuri, intenții și așa mai departe, pe baza funcționalității oferite utilizatorului.

Activarea permisiunilor pentru utilizarea listelor

Când creați o abilitate avansată ca aceasta, abilitatea va trebui să solicite permisiuni suplimentare. Există mai multe niveluri de permisiuni și securitate, care trebuie să fie toate în loc pentru ca abilitatea să funcționeze pe deplin.

În primul rând, dezvoltatorul de abilități va trebui să recunoască platformei Alexa că abilitatea va folosi listele. Puteți face acest lucru în cadrul configurării abilităților din consola pentru dezvoltatori. Captura de ecran de mai jos este din fila Permisiuni din consolă. Glisoarele pentru ambele atribute ale listei trebuie setate.

1611310507 770 Cum sa creati o abilitate Alexa care reuseste liste de
Identificarea permisiunilor suplimentare necesare acestei abilități personalizate în consola pentru dezvoltatori Alexa

Pe măsură ce abilitatea trece prin certificare, Amazon validează faptul că permisiunile sunt necesare pentru ca abilitatea să funcționeze. Acest lucru ajută la gestionarea accesului la datele utilizatorului care vor fi obținute de către dezvoltator.

În al doilea rând, atunci când un utilizator activează abilitatea pe dispozitivul său, va trebui să acorde consimțământul pentru ca abilitatea să poată citi și scrie datele pentru contul său. Aceasta este activată prin intermediul aplicației însoțitoare și urmează un model de „înscriere” pentru a accesa privilegiile crescute. Mai jos este o captură de ecran cu glisoarele care trebuie ajustate în setări.

1611310507 271 Cum sa creati o abilitate Alexa care reuseste liste de
Fiecare utilizator va trebui să acorde permisiuni pentru a-și accesa datele din listă.

În cele din urmă, în timpul rulării, este creat un jeton de consimțământ pentru fiecare sesiune care folosește abilitatea. Acest simbol trebuie să fie salvat de funcția Lambda, apoi trecut în antetul apelului API către Alexa.

Exemplu de apel API

După cum este evidențiat în arhitectură, API-ul de uz casnic conține funcționalitatea de bază necesară pentru gestionarea listelor. Există mai multe operațiuni disponibile în cadrul API-ului și iată documentația de la Amazon. Folosind Node.js, iată codul folosit pentru a invoca API-ul folosind operația POST care creează o nouă listă numită „Tracker de antrenament”.

var path = "/v2/householdlists/";     var postData = {        "name": "Workout Tracker", //item value, with a string description up to 256 characters         "state": "active" // item status (Enum: "active" only)    };            var consent_token = session.user.permissions.consentToken;
var options = {        host: api_url,        port: api_port,        path: path,        method: 'POST',        headers: {            'Authorization': 'Bearer ' + consent_token,            'Content-Type': 'application/json'        }    };
var req = https.request(options, (res) => {    console.log('statusCode:', res.statusCode);    console.log('headers:', res.headers);    var data = "";
    res.on('data', (d) => {         console.log("data received:" + d);         data += d;    });    res.on('error', (e) => {         console.log("error received");         console.error(e);    });    res.on('end', function() {         console.log("ending post request");        if (res.statusCode === 201) {             var responseMsg = eval('(' + data + ')');             console.log("new list id:" + responseMsg.listId);             callback(res.statusCode, responseMsg.listId);        } else {             callback(res.statusCode, 0);        }    });});    req.end(JSON.stringify(postData));

API returnează un obiect JSON care include ListIdentifier folosit în apelurile ulterioare pentru a adăuga elemente la listă.

Concluzie

Acesta este un mod ușor de a utiliza interfața vocală a utilizatorului Alexa cu ubicuitatea aplicației Alexa Companion. Iată un link la repo completarea abilității și dacă aveți idei despre cum să vă îmbunătățiți – vă rugăm să ne anunțați!