Revision History

Rev.

Date

Prepared by

Affected Sections/ Pages

Description

0.1

17/03/2020

Manjunath HK

Document

Initial version

0.22/07/2020Manjunath HKDocumentmore details on intent creation and skill
0.37/16/2021Ganesh prasad SahuDocumentModified the product creation section and details about WWE request

Introduction

This guideline document is intended to help developers want to integrate AVS with the device. Steps described in this page mainly covers the developer account creation and defining different rules to launch/control RDK APPs. These rules created in developers Alexa account will interact with the AVS SDK application ported to the devices to achieve desire tasks.

Glossary of Terms

Term

Meaning

Utterance

The words the customer says to Alexa to convey what they want to do, or to provide a response to a question Alexa asks

Intent

A representation of the action that fulfills a customer's spoken request.

Slot

An argument to an intent that gives Alexa more information about that request. For example, Alexa, ask History Buff what happened on June third. In this statement, …June third is the value of a date slot that refines the request

Skill

A set of actions or tasks that are accomplished by Alexa. Skills are like apps for Alexa, helping customers perform everyday tasks or engage with your content naturally with voice

custom skill

A skill that uses a custom interaction model. You define the requests your skill can handle

Full list of terms can be referred from https://developer.amazon.com/en-US/docs/alexa/ask-overviews/alexa-skills-kit-glossary.html

Amazon Developer Account Creation

  • Launch the https://developer.amazon.com/ in browser
  • Click on the sign in button then create your Amazon Developer account by providing the below details

Register an AVS device with the Amazon developer portal.

When you are in the AVS Developer Console.
If we want the device  to go through certification process, you will need to create 2 products (for experimental purpose creating 2 products is not mandatory)

  • BETA                : to be used for development and certification
  • PRODUCTION : for your live product used in production

Creating the products – STEP 1 of 2 – Product Information

  • Select MANAGE YOUR PRODUCTS, then select ADD NEW PRODUCT
  • Fill out the Product Information Form
    • Product Name - use this structure: product name – beta
    • Product ID – use this structure: product_name_beta
    • Product type: select Device with Alexa Built-in
    • Companion app: if device is connected to a screen then select No
    • Product category: select for video devices for STBs and TVs
    • Description: enter a short description of your product
    • Alexa initiation: Touch initiated (like Push-To-Talk), Hands-Free or Far-Field (product with mic array)
    • Distribute product commercially: Yes
    • Alexa for Business: No
    • Children’s product: No (unless your product is for children)
    • Click on NEXT

Creating the products – STEP 2 of 2 – LWA (Login With Amazon)

Select a Security Profile:

  • Click on CREATE NEW PROFILE
    Create a new Security Profile:
    • Security Profile Name: The Security Profile name is displayed on the consent screen when users agree to share information with your application.

AVS recommends using a name that includes your company or product name

    • Security Profile Description: The Security Profile description is to help you remember what products are associated with this Security Profile.
      The description is not shown to end users

Review the information

  • Read and agree to the Amazon Developer Services Agreement
  • Click FINISH

Amazon AVS team will first enable features and certify your BETA product. Then once the product is certified using the BETA product information, all features and certification will be applied to your PRODUCTION product so it can be used with your customers in production.

  • Download the config.json file from your developer account.
  • Copy the file in to the RPI device to root directory.(/home/root) 

Requesting a Wake Word Binary

For the devices that have a far field microphone and want to use amazon Wake Word Engine (WWE)

  • Fill out the details, provide the build instructions and attach the toolchain (if available) 
  • Click on Submit

Custom skill creation

  • Click on the three dots on the right corner and select Alexa developer console.
  • Click Your Alexa Consoles and then click Skills. This opens the developer console and displays any skills you have already created.

  • Click Create Skill.

  • Enter the skill name and default language
  • Skill name: This is the name customers will see when you publish the skill. You can edit this name later on the Distribution page.
  • Default language: You can add additional languages to the skill later.
  • Choose a model to add to your skill (custom )

For creating a Video skill , please refer Integrating Alexa Video Skill Kit with RDK

Choose a method to host your skill's backend resources (Alexa-Hosted (Node.js))

Click Create skill.

  • Click the template you want to use and then click Choose. (Hello world skill template).


  • Here you create the skill either “import skill” or “continue with template”



Import Skill:

  • you can import the skill that already host in the git repository.
  • you will find import skill option is on the skill developer account while creating the new skill as shown.
  • click on the option.
  • past the git URL(https://github.com/manjunathtsai/alexahost.git) on the dialog and click on the import.

     

 

Continue with Template:

after creating the skill with example template (hello world) we will find the code section in the skill console where you will find the index.js file in that you replace the existing code with code provided then save and deploy.

Invocation Name

It is the name given to custom skill. Invocation of the skill is started by the invocation name followed by the intent.

Configure Your Invocation Name

Edit your skill in the developer console, then navigate to Build > Custom > Interaction Model > Invocation and enter or edit the Skill Invocation Name

Skill Code Modification  

In code section of the Alexa developer console, you will find the hello world example template code where you can add the your modification as shown below



Above code snippet is added to the custom skill to launch YouTube. Here if you give the lunch YouTube utterance to the device then skill will forward the command to SDK to launch the YouTube.

  • Create the intent and slot for above code in the Alexa developer console as mentioned in the step 8.
  • Save and build the model

How to create a new custom intent

  • From the left-hand sidebar (Alexa developer console), click Add next to Custom > Intents Tab.
  • Select the Create custom intent option.
  • Enter the name of the new intent and click Create custom intent. This adds a new intent and opens its detail page, displaying the intent's sample utterances and slots.
  • Enter a sample utterance in the edit box and click the plus sign or press Enter. Repeat this for a few representative utterances.

Be sure to include utterances that include words and phrases that will vary when users say the intent. In the example above, this includes words and phrases like "Friday," "san Francisco", "Seattle," and "next Thursday."

Sample utterances must be unique. You cannot have duplicate sample utterances mapped to different intents.

  • Identify the slots in the utterances as described below link.

https://developer.amazon.com/en-US/docs/alexa/custom-skills/create-intents-utterances-and-slots.html



if you have the json file of the already created intents then follow the steps to add same in to your skills

  • In the skill console developer account, we will find the JSON Editor in the build section as shown above image.
  • click on the option.
  • drag and drop the json file you have.
  • save modal.
  • build the modal.

for more information on the json and other related information follow the link 

https://developer.amazon.com/en-US/docs/alexa/custom-skills/create-intents-utterances-and-slots.html#json-for-intents-and-utterances-interaction-model-schema

Test the custom skill

 Use the simulator provided on the Test page in the developer console. This gives you access to most Alexa Skills Kit features without a device. You can interact with Alexa using either voice or text.

  • No labels