Deine Alexa Dashboards Einstellungen
Vielen Dank für Ihren Besuch. Diese Seite ist momentan nur auf Englisch verfügbar. Wir arbeiten an der deutschen Version. Vielen Dank für Ihr Verständnis.

Best Practices for Echo Show Skills

When developing a skill for Echo Show, keep the following suggestions and best practices in mind.

See also:

Start Time for Skill

A skill with screen display on Echo Show should start within 2 seconds of launch. Slow-loading images, in particular, may slow down the skill.

If you want to load an external image as part of the skill, you can design the skill to start without that image to ensure you meet the time recommendation.

Alexa Skills With and Without Interface Support

When you develop a skill, you can choose whether or not to specifically support a particular interface, such as Display for screen display on Echo Show. If the user of your skill has Echo Show, you naturally want the experience to be as good as if the skill user is using a device, such as Amazon Echo, without a screen. Thus, even if the screen experience is not the focus of your skill, you should still consider it.

Even if you do not take any steps to support screen display, the cards you provide for the Alexa app will be displayed on Echo Show, if that is what the customer is using. Thus, you should be aware of how Echo Show is supported, and how to distinguish what the device is from the device request. Note that cards designed for non-screen skills are displayed on Echo Show with the BodyTemplate1 template.

If you want to take full advantage of the options provided by a screen, such as the ability to select a particular image from a list or play a video, then you must specifically support screen display in your code.

See:

Design a Skill for Both Screen and Non-Screen Modes

As discussed in the next section, the skill service can determine what device the customer is using. For the best customer experience, the skill developer should create a conditional workflow when they create the skill, so that customers who use “headless” devices like Amazon Echo can have an optimized experience, and customers who use Echo Show can also have an optimized experience.

If you want to enhance an existing skill by including visual and touch interactions, take the opportunity to rethink the workflow of the skill. In general, the customer will respond to a skill using different responses and different actions depending on whether the customer does or does not see a screen while using that skill. Your skill service code should reflect this difference and should reflect both types of interactions.

Determine the Supported Interfaces for the Current Device

The skill service should parse the request that comes from the device in order to determine the interfaces supported by the device. The values for event.context.System.device.supportedInterfaces.Display indicate the supported interfaces. In the following example, parsing this JSON-formatted sample request indicates that supportedInterfaces includes AudioPlayer, Display, and VideoApp. If any of these is not listed as a SupportedInterface, that means that the unlisted interface is not supported by the device.

Your skill service code should respond conditionally both to the case where these interfaces are not supported, such as Display.RenderTemplate for an Amazon Echo device, and for the case where these interfaces are supported, such as Display.RenderTemplate for an Echo Show device.

{
  "version": "1.0",
  "session": {
    "new": false,
    "sessionId": "amzn1.echo-api.session.<value>",
    "application": {
      "applicationId": "amzn1.ask.skill.<value>"
    },
    "attributes": {
      "previousPage": "the proposal"
    },
    "user": {
      "userId": "amzn1.ask.account.<value>"
    }
  },
  "context": {
    "System": {
      "application": {
        "applicationId": "<value>"
      },
      "user": {
        "userId": "amzn1.ask.account.<value>"
      },
      "device": {
        "supportedInterfaces": {
          "Display": {},
          "AudioPlayer": {},
          "VideoApp": {}
        }
      }
    }
  },
  "request": {
    "type": "IntentRequest",
    "requestId": "amzn1.echo-api.request.<value>",
    "timestamp": "2017-06-10T11:03:15Z",
    "locale": "en-US",
    "intent": {
      "name": "AMAZON.StopIntent"
    }
  }
}

In this example, the actual request will have actual values for sessionId, applicationId, userId, and requestId. Your skill service code should respond conditionally both to the case where these interfaces are not supported, such as for an Amazon Echo device, and for the case where these interfaces are supported, such as for an Echo Show device.