An Alexa Presentation Language (APL) skill for children.
- An Alexa Developer Account (sign up here: https://developer.amazon.com/alexa-skills-kit)
- Alexa Skills Kit Command Line Interface (ASK CLI) (Follow Quick Start: https://developer.amazon.com/en-IN/docs/alexa/smapi/quick-start-alexa-skills-kit-command-line-interface.html)
- (Optional) An AWS Account (sign up here: https://aws.amazon.com)
- (Optional) An Amazon Echo Device with a screen (e.g. Amazon Echo Show)
Note: The AWS Account is optional because you can create this sample as an Alexa Hosted skill. The Echo Show is optional because you can see the display in the simulator.
Note: The below steps assume you have general familiarity with how to use the Alexa Developer Console. If you've never created a skill before, check out the fact skill tutorial to get the feel for it.
- From the Alexa Developer Console create a new skill.
- Name the skill whatever you want !
- Choose the language model you want to use, as long as as it is
English (IN)
which corresponds to en-IN. - Choose the Custom interaction model.
- Choose Alexa-Hosted (Node.js).
- Choose Sauce Boss Skill template to add to your skill.
- It may take a minute, but when your skill is ready, go to the JSON Editor section and replace all the contents with the interaction model from here that matches the locale you chose in the previous step. Click Save Model.
- Save that change and build your model.
- Click on the Code tab and update the following files with the contents from this repo:
- Add the following files in folder named
lambda
with noted content:alphabet.js
from the file alphabet.js (Alphabet Name & instructions - all locales)alphabetUtils.js
from the file alphabetUtils.js (Utilities to manage alphabet)aplUtils.js
from the file aplUtils.js (Utilities for APL Support: Directives - Commands - Datasources)index.js
from the file index.js (Pro tip: click the Raw button to make it easier to copy)languageStrings.js
from the file languageStrings.js (Voice & Display prompts - all locales)package.json
from the file package.jsonutil.js
from the file util.js
- Create a folder named
apl
(for APL Templates). - In the apl folder, create these files with the noted content:
launchRequest.json
from the file launchRequest.json (APL Template for Launch Screen)launchRequest_datasource.json
from the file launchRequest_datasource.json (APL Data for Launch Screen)alphabetIntent.json
from the file alphabetIntent.json (APL Template for Alphabet Screen)alphabetIntent_datasource.json
from the file alphabetIntent_datasource.json (APL Data for Alphabet Screen)helpIntent.json
from the file helpIntent.json (APL Template for Help Screen)helpIntent_datasource.json
from the file helpIntent_datasource.json (APL Data for Help Screen)
- Save and Deploy the function
- Click on the Test tab, enable the skill and check it out. Phrases you can try include:
open english alphabet
(or whatever invocation name you used)
-
Clone my repository.
$ git clone https://github.com/smanitech/English-Alphabet
-
From the Alexa Developer Console create a new skill.
- Name the skill whatever you want !
- Choose the language model you want to use, as long as as it is
English (IN)
which corresponds to en-IN. - Choose the Custom interaction model.
- Choose Alexa-Hosted (Node.js).
-
Choose Sauce Boss Skill template to add to your skill.
-
It may take a minute, but when your skill is ready, open terminal inside a folder where you want to clone your APL template.
-
Initialize the ASK CLI by navigating into the repository
ask init
. Follow the prompts.$ ask init $ ask clone
then select you skill using arrow keys and hit enter
-
Delete folder named
lambda
& folder namedmodels
& Copy folder namedlambda
& folder namedmodels
from my repo. then, Follow the Below Commands.$ cd English_Alphabet $ git add .
$ git commit -m "updated" $ ask deploy
Example:
-
Click on the Test tab, enable the skill and check it out. Phrases you can try include:
open english alphabet
(or whatever invocation name you used)
-