Releases: alexa/alexa-skills-kit-sdk-for-java
2.2.1
2.2.0
2.1.0
2.0.2
2.0.1
Release of the ASK SDK v2 for Java
For more information about version 2 of the Alexa Skills Kit (ASK) Software Development Kit (SDK) for Java, see this blog post.
Releasing Java SDK 1.8.1
Added an user agent to collect metrics for SDK usage
Releasing Java SDK 1.8.0
This release adds support for Body Template 7.
Support for progressive response API, Alexa list events, and Alexa list APIs
Progressive Response API Support
Adds API support for dispatching progressive responses. This new capability helps you to keep your users engaged while a full response to a skill request is being processed. Progressive response API calls are facilitated by the included DirectiveServiceClient
.
Alexa List Events
Additional Alexa list skill events are now supported. The new events are triggered when lists are:
- Created
- Updated
- Deleted
These events can be handled by your skill by implementing the HouseholdListEventListenerV2
interface and configuring your skill to listen to the corresponding events.
Alexa List API Support
API support has been added for Alexa lists. Using the included ListServiceClient
, you can now programmatically retrieve list info and list items, create lists and list items, delete lists and list items, and update lists and list items.
Support for Entity Resolution And unit test release
Adds SDK support for entity resolution
Skill developers now can take advantage of entity resolution, which enables them to define synonyms for slot values. Alexa Service will try to resolve the value and return consistent data to developers.
Currently, developers must use the Code Editor in the Skill Builder(beta) to define synonyms and IDs for slot values. For more information on how to define synonyms and IDs, please refer to Entity Resolution Developer Guide.
For example, for an intent request like the following:
{
"type": "IntentRequest",
"intent": {
"name": "GetMediaIntent",
"slots": {
"MediaType": {
"name": "MediaType",
"value": "track",
"resolutions": {
"resolutionsPerAuthority": [
{
"authority": "amzn1.er-authority.echo-sdk.<skill_id>.MEDIA_TYPE",
"status": {
"code": "ER_SUCCESS_MATCH"
},
"values": [
{
"value": {
"name": "song",
"id": "SONG"
}
}
]
}
]
}
}
}
}
}
Developer can access the user-spoken value using:
String value = intent.getSlot("MediaType").getValue(); // "track"
while the additional information (such as the unique ID and resolved values) is provided inside Resolutions property. For example:
Slot slot = intent.getSlot(slotName);
Resolutions resolutions = slot.getResolutions();
Resolution resolution = resolutions.getResolutionAtIndex(index);
ValueWrapper valueWrapper = resolution.getValueWrapperAtIndex(index);
Value value = valueWrapper.getValue();
String ID = value.getId(); // "SONG"
String name = value.getName(); // "song"
Releasing unit tests for SDK
Developers now can run automated unit tests using Maven.
- Download and extract the latest SDK package
- Navigate to the package root directory where the pom.xml is located
- run
mvn clean test
Packages for unit tests can be found under tst/ folder