/alexa-skills-kit-sdk-for-java

The Alexa Skills Kit SDK for Java helps you get a skill up and running quickly, letting you focus on skill logic instead of boilerplate code.

Primary LanguageJavaApache License 2.0Apache-2.0


Alexa Skills Kit SDK for Java

The ASK SDK for Java makes it easier for you to build highly engaging skills, by allowing you to spend more time on implementing features and less on writing boiler-plate code.

Package Versions

Module Maven
ask-sdk Maven Central
ask-sdk-core Maven Central
ask-sdk-lambda-support Maven Central
ask-sdk-servlet-support Maven Central
ask-sdk-dynamodb-persistence-adapter Maven Central
ask-sdk-apache-client Maven Central
ask-sdk-freemarker Maven Central
ask-sdk-runtime Maven Central

Alexa Features Supported by SDK

Preview Features

The following features are released as public preview. The interfaces might change in future releases.

Technical Documentation

Models

The SDK works on model classes rather than native Alexa JSON requests and responses. These model classes are generated using the Request, Response JSON schemas from the developer docs. The source code for the model classes can be found here.

SDK Setup

The SDK uses slf4j-api. You need to provide your own logging binding. See: http://www.slf4j.org/manual.html#swapping

Samples

This code sample will allow you to hear a response from Alexa when you trigger it. It is a minimal sample to get you familiarized with the Alexa Skills Kit and AWS Lambda.

This is a step-up in functionality from Hello World. It allows you to capture input from your user and demonstrates the use of Slots.

This sample will walk first-time Alexa skill developers through all the required steps involved in creating a parameter-based skill using a template called ‘Minecraft Helper’. Ask how to craft an item in the game Minecraft, and this skill will give you instructions. The skill showcases:

  • Custom slot type: demonstrates using custom slot types to handle a finite set of known values
  • Dialog and Session state: Handles two models, both a one-shot ask and tell model, and a multi-turn dialog model.
  • Usage of ResourceBundle to handle internalization

Template for a local recommendations skill. Alexa uses the data that you provide to offer recommendations according to the user stated preferences. This Skill showcases:

  • Custom slot type: demonstrates using custom slot types to handle a finite set of known values
  • Dialog and Session state: Handles two models, both a one-shot ask and tell model, and a multi-turn dialog model.
  • Usage of ResourceBundle to handle internalization
  • Calling external APIs from the skill.

This Alexa sample skill is a basic Movie Quotes Quiz skill that makes use of Template Resolver feature of the Java SDK. A user can open up the skill, select a movie from a list, and then hear partial quotes from the selected movie. Then, they have to complete the quote.

Pet Match matches the user with a pet. When launched, this Alexa Skill will prompt the user for the information it needs to determine a match. Once all of the required information is collected, it will send the data to an external web service which processes the data and returns the match. Through this workshop, you will learn how to use advanced Alexa Skills Kit features to create and configure an Alexa Skill and AWS Lambda. The skill showcases the usage of Request and Response interceptors.

Tutorials

This tutorial will guide you in building a fully-featured skill. The skill features Built-In and Custom slots, as well as state management. The skill you build with this tutorial can be customized to build your own game.

This tutorial will demonstrate how to write skills for Echo Show and Echo Spot in Java using the Alexa Skills Kit (ASK) SDK v2.

This tutorial demonstrates 3 features of APL: the Pager Component, SpeakItem Command, and accessing device characteristics in the skill code.

Other Language Alexa Skills Kit SDKs

Alexa Skills Kit SDK for NodeJS

Alexa Skills Kit SDK for Python

Got Feedback?

Request and vote for Alexa features here!