Alexa Smart Screen SDK Overview


The Alexa Smart Screen SDK 2.9.x extends the AVS Device SDK version 1.26 to support development for screen-based Alexa Built-in products. The Smart Screen SDK enables device makers to build screen-based products that complement Alexa voice responses with rich visual experiences.

Version changes

2.9.3

The webpack module is updated to version 5.61.0.

2.9.2

The Node.js async module is updated to version 2.6.4.

2.9.1

The APLClientLibrary is updated to version 1.8.3.

2.9

The APLCoreLibrary is no longer a direct dependency of the Alexa Smart Screen SDK. Instead, you pass APLCoreLibrary build paths to the APLClientLibrary as CMake arguments.


Get started

The Alexa Smart Screen SDK GitHub repository includes the following items:

  • The Alexa Smart Screen SDK
  • A sample app that demonstrates end-to-end Alexa Smart Screen SDK functionality
  • A GUI web app that handles presentation of Alexa visual responses

The Alexa Smart Screen SDK depends on the following additional GitHub repositories:

You can set up the Alexa Smart Screen SDK by using the following Quick Start Guides:

You can also create your device prototype by using an Amazon-qualified development kit that supports the Smart Screen SDK, such as the following kits:

SDK architecture

The following diagram illustrates the data flows between components that comprise the Alexa Smart Screen SDK.

AlexaSplashScreen
AVS Device SDK
The SDK for Alexa Voice Service, which implements Alexa intelligent voice control functionality.
Capability Agents (CAs)
The agents that handle Alexa-driven interactions; specifically directives and events. Each capability agent corresponds to a specific interface exposed by the Alexa Smart Screen API. These include the following interfaces:
  • AlexaPresentation— The interface for rendering Alexa Presentation Language (APL) documents.
  • TemplateRuntime— The interface for PlayerInfo and Template cards (such as music cards and other static cards).
  • VisualCharacteristics— The interface for reporting the physical properties of visual display devices (such as screen resolution, window size, and supported interaction modes).
Smart Screen Sample Application
The Alexa Smart Screen SDK sample app. It has two components: a sample app and a JavaScript-based GUI client app. These apps include the following interfaces:
  • GUIManager— The interface between the capability agents and the GUI.
  • GUIClient— The interface that manages messages between the GUI and the rest of the sample app.
  • WebSocketServer— The reference implementation of a WebSocket-based messaging interface.
APL Client
An Inter-process Communication (IPC) based APL Runtime which implements the APL Core Engine and the IPC APL Web ViewHost to render APL payloads.
HTML Rendering Engine
An APL view host and GUI client app based on JavaScript that render the visual experience on the device:
  • WebSocket— The reference implementation of a WebSocket client.
  • APL Web ViewHost— The view host that renders the APL document generated by the APL Core Library.
  • Alexa GUI— The reference GUI implementation.

Security best practices

All Alexa products should adopt the Security Requirements for Alexa. For information about security requirements for the Smart Screen SDK, see Security Requirements for Alexa Smart Screen SDK.

Important considerations

Optional configurations

Run the GUI client with predefined device visual characteristics and GUI client configurations

Amazon provides four different sample configuration files of predefined device visual characteristics and GUI client configurations. You can find these under modules/GUI/config/guiConfigSamples. To enable a predefined configuration, you can pass any of them as an extra configuration file argument after the main Smart Screen SDK configuration file argument when running the Sample App.

Remote control support

Exit and Back remote control functionality is minimally supported by the Smart Screen SDK. The following behaviors are expected to occur:

  • Clear the rendering screen— Exit fully out of the Alexa-presented display so that no static image or layout is left.
  • Release the focus management— Release any focus management that might be held.

Using the predefined device visual characteristics, Esc and B are mapped to Exit and Back respectively.

Release notes and known issues

For a list of enhancements, bug fixes, and known issues, refer to CHANGELOG.md.


Was this page helpful?

Last updated: Nov 29, 2022