Sådan opretter du en færdighed til Amazon Alexa ved hjælp af Google Sheets And Storyline

Sådan ser en Alexa Skill fra Google Spreadsheet ud i Storyline.

Forestil dig en Alexa-færdighed, der giver dig nogle fakta. Det er en simpel færdighed - du bare lancerer den, og den fortæller dig en kendsgerning om et emne.

Enkle Alexa-færdigheder til Amazon Echo deler de samme fakta, hver gang du starter dem. Men der er færdigheder, hvor skabere opdaterer indhold regelmæssigt. Vi kalder dem dynamiske færdigheder.

I denne artikel forklarer jeg, hvordan man laver dynamiske Alexa-færdigheder ved hjælp af Storyline, Google Sheets og tilfældigt indhold.

Introduktion til dynamisk indhold

Årsagen til at folk elsker dynamiske Alexa-færdigheder er, at de ikke er kedelige. Hvis du hører det samme indhold hver dag fra din Amazon Echo, vil du ikke fortsætte med at bruge færdighederne efter et par gange.

Der er mange brugssager til færdigheder med dynamisk indhold. Du kan få fakta om din yndlingsblogger, universitet eller endda om Amazon. Alexa-evner med dynamisk indhold kan hjælpe dig med at vælge et barnnavn eller give dig et andet tilbud hver dag.

For færdighedsskabere løser et stort problem et tilføjelse af dynamisk indhold til deres færdigheder: det er lettere at tilføje, slette og administrere dit indhold i en praktisk grænseflade. Google Sheets er et glimrende eksempel på en sådan grænseflade.

Den måde, skabere brugte til at lave dynamiske Amazon Alexa-færdigheder i Storyline, var at oprette en server, sætte indhold der, forbinde det med Storyline vha. API Request-funktionen og skrive en funktion til at randomisere svar fra denne server. Denne proces var klodset og vanskelig at følge. Sådan gør du det let.

Trin 1: Opret dit ark med data

Lad os forestille os, at jeg vil oprette en Alexa-færdighed, der deler en tilfældig kendsgerning om Google. Den første ting jeg skal gøre er at finde indhold.

Når jeg har fundet nogle fakta om Google, indsætter jeg dem i et regneark.

Trin 2: Konverter dit regneark til en JSON

For at sende dine data fra Google Sheets til Storyline skal du konvertere dem til JSON - et letvægtsformat til overførsel af data.

Sådan fungerer Storyline API Request-funktionen: du opretter en GET-anmodning til en eller anden server, den returnerer en JSON. Derefter tager du nogle data ud af det, og Alexa udtaler disse data til brugeren.

Vi vil bruge den oprindelige Google Sheets-funktion til at konvertere regnearket til JSON.

Først skal du offentliggøre dit regneark på Internettet ved hjælp af Filer -> Udgiv til web i dit regneark.

Når du har offentliggjort dit regneark, skal du få dit regneark-id. Det er en del af dit regnearks URL. I vores eksempel er URL'en til regnearket:

https://docs.google.com/spreadsheets/d/1GVfUWL3iZEGJ6YJfycLXzqTXKB2UFl65bjopI8LczS8/edit#gid=0

Fra denne URL er regnearks-id:

1GVfUWL3iZEGJ6YJfycLXzqTXKB2UFl65bjopI8LczS8

Nu kan du få adgang til din enkle JSON ved hjælp af følgende URL:

https://spreadsheets.google.com/feeds/list/SPREADSHEET_ID/od6/public/basic?alt=json

Alt hvad du skal gøre er at erstatte SPREADSHEET_ID med dit rigtige ID. Her er min:

https://spreadsheets.google.com/feeds/list/1GVfUWL3iZEGJ6YJfycLXzqTXKB2UFl65bjopI8LczS8/od6/public/basic?alt=json

Hvis du følger det link, vi oprettede nedenfor, ser du en rigtig JSON med data fra dit regneark.

Men smalle data er svære at læse og forstå. Lad os forskønne det lidt. For at gøre JSON læsbar kan du bruge beautifyjson.com eller JSON Viewer kromudvidelse.

Sådan ser det ud med JSON Viewer-udvidelsen installeret:

Trin 3: Opret en Alexa-evne og få adgang til din JSON ved hjælp af Storyline API-anmodninger

Når du er færdig med at få adgang til din JSON, skal du oprette en Alexa-færdighed i Storyline for at være i stand til at hente data og bruge den i din Alexa-færdighed.

Når du går til https://getstoryline.com, tilmelder dig og klikker på knappen Ny brugerdefineret færdighed, ser du denne skærm:

Mit eksempel Alexa-færdighed i Storyline ser sådan ud.

Sådan ser en Alexa Skill fra Google Spreadsheet ud i Storyline.

Her har jeg en velkomstblok, der starter, når en bruger åbner færdigheden. I denne blok er der to meddelelser fra Alexa:

  • "Hej med dig! Velkommen til Google Sheets testprojekt. ”
  • "Her er en tilfældig kendsgerning."

Og to standardbruger-svar, der kræves af Amazon: “hjælp” og “stop.” Kort sagt, brugersvar er bare muligheder, hvad brugeren kan sige til denne færdighed.

Jeg har også en faktablok her, som er en standardblok, som jeg tilføjede ved hjælp af knappen Ny blok øverst til højre.

Ny blokeringsknap i Storyline-interface.

I faktablokken har jeg en API-anmodning, der kaldes get a fact. Jeg har også et {{fact}} trin, som er en variabel, jeg oprettede for at gemme det faktum, at jeg får fra et Google Spreadsheet.

JSON API-anmodning i Storyline.

API-anmodning i Storyline består af flere dele:

  • Navn på din API-anmodning i Storyline
  • URL til JSON med data
  • Et felt med variabel

Navnet på din API-anmodning betyder ikke rigtig noget; Jeg vælger normalt noget meningsfuldt, som jeg let kan finde, når min evne er stor. Jeg har "få en kendsgerning" som navn på min API-anmodning her.

URL her er den samme URL til JSON-format i mit regneark, som jeg oprettede i trin 2:

https://spreadsheets.google.com/feeds/list/1GVfUWL3iZEGJ6YJfycLXzqTXKB2UFl65bjopI8LczS8/od6/public/basic?alt=json

Et felt med variabel indeholder en sti til et faktum fra vores regneark JSON og en variabel, hvor vi gemmer det faktum for at bruge det i Storyline.

Faktisk = api_response.feed.entry.0.title. $ t

Her er hvad der er inde i det:

fakta er en variabel, der lagrer det faktum, at vi griber fra Google-arket. Vi vil bruge det i diagrammet over vores dygtighed.

api_response er en operator, der hjælper Storyline med at forstå, at dette er et API-svar.

feed.entry indeholder indholdet eller vores regneark. Med andre ord celler.

Når du konstruerer denne linje, går du ned på JSON-strukturen og adskiller hver JSON-post med et punktum. Hvis du bruger JSON Viewer-udvidelse, kan du skifte JSON-elementer for at se strukturen på en klar måde.

Sådan ser det ud, hvis du skifter alle felter i en JSON:

Derefter kan vi skifte indtastningsfelt og gå et niveau dybere. Indtastning her er en række objekter, og hvert objekt ser sådan ud:

Det felt, vi har brug for, er $ t, som er placeret i titlen.

Sådan ser hele linjen ud kombineret.

api_response.feed.entry.0.title. $ t

Hvis du har spørgsmål til denne del, er du velkommen til at stille dem i vores Storyline Community of Alexa-skabere.

På denne del skal du allerede have en fungerende Alexa-evne, der griber den første kendsgerning fra dit regneark og udtaler det i Storyline. Det næste trin er at gøre det dynamisk.

Trin 4: Tilfældige fakta i din Amazon Alexa-færdighed

For at få adgang til det første element i dit regneark bruger du 0,0-tasten. For at få adgang til den anden celle, du bruger .1.

Hvis du vil kalde et element fra en kolonne tilfældigt, skal du skrive .random i stedet for .0.

Hele feltet med variabel, der griber et tilfældigt faktum fra et regneark, skal se sådan ud (glem ikke en semikolon til sidst):

. Faktisk = api_response.feed.entry.random.title $ t;

Ved at gøre dette får du Storyline til at forstå, at du vil have adgang til et tilfældigt element i den array.

Hvis du fulgte selvstudiet, på dette øjeblik, skal du have en Alexa-færdighed, der griber en tilfældig kendsgerning om Amazon fra et regneark og bruger det i Storyline.

Du kan lege med det lige i browseren eller offentliggøre til din Echo-enhed (og Amazon App Store, helt sikkert).

Historielinjebrowser-forhåndsvisning af min Alexafærdighed.

Du kan også dele en interaktiv preview-visning af din færdighed med en ven eller kollega, så de også kan lege med det. For at gøre det, skal du klikke på knappen Del øverst og skifte til Aktiver visningsdelingsdel til tumbler.

Sådan ser min Google Sheet Alexa-færdighed ud i Storyline:

Tak for at have læst!

Har du spørgsmål om produktet? Du er velkommen til at spørge dem i vores samfund.

Bedste, Storyline-team.