Skip to content
This repository has been archived by the owner on Jan 15, 2024. It is now read-only.
Diane Olsen edited this page Nov 13, 2019 · 58 revisions

Alexa Smart Screen SDK

The Alexa Smart Screen and TV Device SDK extends the Alexa Device SDK to support visual experience capabilities for your Alexa built-in products. You must download and install the AVS C++ Device SDK, the Alexa Presentation Language (APL) core-library, and a few other dependencies before you can use this SDK.

Get Started

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

SDK Architecture

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

AVS Device SDK: The SDK for Alexa Voice Service, which implements Alexa intelligent voice control functionality.

Capability Agents (CAs): Handle Alexa-driven interactions; specifically directives and events. Each capability agent corresponds to a specific interface exposed by the Alexa Smart Screen API. These interfaces include:

  • 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).

APL Core Client Reference Implementation: This is the Alexa Smart Screen SDK's sample app. It has two components: a sample app and a Javascript-based GUI client app.

  • GUIManager: Interface between the capability agents and the GUI
  • GUIClient: Manages messages between the GUI and the rest of the sample app
  • APLCoreTextMeasurement: Handles text measurement requests from the APL Core Library
  • APLCoreConnectionManager: Manages the currently rendered APL document
  • APLCoreGUIRenderer: Handles the creation of APL documents
  • WebSocketServer: Reference implementation of a WebSocket-based messaging interface

APL Core Library Engine: An abstract engine for Alexa Presentation Language (APL) that manages not only APL document parsing and layout inflation, but also event handling, commands, and the rendering workflow.

HTML Rendering Engine: A Javascript-based GUI client app and APL view host that render the visual experience on the device.

  • WebSocket: Reference implementation of a WebSocket client
  • APL Web ViewHost: Renders the APL document generated by the APL Core Library
  • Alexa GUI: Reference GUI implementation