Skip to content

Releases: alexa/alexa-auto-sdk

Version 4.3.0 Alexa Auto SDK

16 Jun 08:40
Compare
Choose a tag to compare

Version 4.3.0 Alexa Auto SDK

The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.

v4.3.0

  • v4.3 Released on 2023-06-15

Breaking Changes

  • AACS and the Alexa Auto App are no longer part of the Alexa Auto SDK. Please contact your Amazon SA partner for how to get newer version of AACS and Alexa Auto App.

Enhancements

  • Added new Mobile Bridge module that provides platform-agnostic implementation of 'Connect via Phone' functionality to automatically use customer's phone data to provide connectivtiy to Alexa in vehicle. For additional details, please contact your SA partner.
  • Added AlexaConfiguration::createMediaPlayerFingerprintConfig for enabling Digital Rights Management (DRM) support
  • Updated AudioOutput interface to provide info required for playing DRM-protected audio.
  • Added the support to enable navigation to phone contact feature by uploading postal address while uploading phone contacts to cloud. Note: the end-to-end feature to allow the user to navigate to a contact will be available once the cloud side changes are in place.
  • Refactored metrics infrastructure and overhauled the implementation.

Resolved Issues

Communications

  • Fixed the issue that Alexa-to-Alexa calls do not work on Linux armv8 platforms

Local Voice Control

  • Fixed the issue that Alexa responds with an error to the utterance "Play FM radio" and requests to tune to a station name.

Known Issues

General

  • The Alexa Automotive UX guidelines specify when to automatically dismiss a TemplateRuntime display card for each template type. The Engine publishes the TemplateRuntime interface messages ClearTemplate and ClearPlayerInfo based on the timeouts configured in the aace.alexa.templateRuntimeCapabilityAgent Engine configuration. However, the configuration does not provide enough granularity to specify timeouts for different types of display cards. Consequently, there is no way for your application to configure automatically dismissing local search templates (e.g., LocalSearchListTemplate2) with a different timeout than other templates (e.g., WeatherTemplate). The configuration also does not provide a way for you to specify infinite timeout for NowPlaying cards. You must implement your application’s dismissal logic for display cards and media info accordingly.
  • There is a rare race condition in which publishing the AlexaClient.StopForegroundActivity message does not cancel the active Alexa interaction. The race condition can happen when the application publishes the message at the beginning of the THINKING state AlexaClient.DialogStateChanged transition.

Car control

  • If you configure the Auto SDK Engine and connect to Alexa using a set of endpoint configurations, you cannot delete any endpoint in the set from Alexa. For example, after you configure set A with endpoints 1, 2, and 3, if you change your car control configuration during development to set B with endpoints 2, 3, and 4, Alexa retains endpoint 1 from set A, which might interfere with resolving the correct endpoint ID for your utterances. However, any endpoint configurations with matching IDs override previous configurations. For example, the configuration of endpoint 2 in set B replaces endpoint 2 in set A. During development, limit configuration changes to create only supersets of previous endpoint configurations. Work with your Solutions Architect or Partner Manager to produce the correct configuration on the first try

Communications

  • The dual-tone multi-frequency (DTMF) does work correctly when selecting the number 1.

Entertainment

  • When music is playing, repeatedly pressing the “next” button to advance in the playlist restarts the current song.
  • When using the LVC extension, if the application publishes the MediaPlaybackRequestor.RequestMediaPlayback AASB message before the Auto SDK Engine connects to Alexa cloud, media playback will not automatically resume as expected. The workaround is to wait for the connection to Alexa cloud to complete before publishing the RequestMediaPlayback message.

Local Voice Control

  • Some contacts in the addressbook are not resolved correctly in offline mode.

C++ sample app

  • The sample app may fail to handle synchronous-style AASB messages within the required timeout to construct device context for Alexa. As a result, some utterances may not work as expected.

Read the SDK Docs

Version 4.2.0 Alexa Auto SDK

22 Dec 03:21
Compare
Choose a tag to compare

Version 4.2.0 Alexa Auto SDK

The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.

v4.2.0

  • v4.2.0 released on 2022-12-21

Enhancements

Auto SDK

  • Added MultiAgent components in AVS Device SDK. All the AVS directives and events are tagged with assistant ID. With the new MultiAgent environment, agent-based metrics are also introduced. The metrics can now be filtered by assistants, programs, and sources.
  • When receiving AlexaClient messages, the payload of DialogStateChanged message will now have the ID of the assistant that the change is associated.
  • Disabled timers, alarms, and reminders by removing the Alerts AVS capability from the Engine. The corresponding Alerts AASB messages and Engine configuration are also removed.
  • The Alexa Auto SDK 3rd Party Wake Word (3PWW) feature provides OEMs an opportunity to enable support for 3rd party voice assistants (3PVA) such as Apple Siri on the same in-vehicle infotainment system alongside Alexa Custom Assistant (ACA)/Alexa wake words.
  • Added the AASB message AudioPlayer.SetAsForegroundActivity, which the application can use to tell the Auto SDK Engine that the Alexa AudioPlayer interface is the foreground media source the user sees on screen. The SetAsForegroundActivity message is useful to ensure VUI and GUI commands act on the AudioPlayer source for scenarios in which the user played an Alexa media source (e.g., Amazon Music), switched to a different Alexa-aware external media source like FM radio or a deep-linked media app, and then manually returned visual activity to the Alexa media screen. The Alexa Auto App is updated to use the new message in the Alexa MediaSession.
  • Updated the Alexa cloud retention period for address book storage from 24 hours to 30 days. Implementations can now reduce data usage by reducing the frequency of address book upload accordingly.
  • Updated the Auto SDK to use AVS Device SDK Version 1.26.0. For information about this version of AVS Device SDK, see the AVS Documentation.

Alexa Auto App

  • Renamed the AACS Sample App to Alexa Auto App. Any previous mentions of the name AACS Sample App should be treated the same as Alexa Auto App.
  • Added a landing page to Alexa Auto App. The landing page provides sample utterances for supported domains and UI to update the settings.
  • The Alexa Auto App has an updated UI for setup and settings screens. These improvements scale responsively for medium landscape screens (approximately 1300 x 900 resolution and screen size ranging from 1100dp to 1549dp).
  • Updated Alexa Auto App to post a notification to the Notification Center when Alexa delivers a notification to the user. The user must ask Alexa to read their notifications to hear the notification content.
  • Simplified building of the Alexa Auto App by reducing the number of build options during setup.
  • Added SMS features to Alexa Auto App. The user can ask Alexa to read unread messages, send a message to a phone number or contact, and reply to a message using the primary bluetooth connected mobile phone.
  • Removed the red voice chrome animation previously used when Alexa was not available. The voice chrome now uses the standard blue speaking animation as Alexa speaks an error prompt.

Resolved Issues

Auto SDK

  • Fixed an issue in which the Engine would not send an AudioOutput.Resume message to the client app in cases where the client has not yet responded to the previous AudioOutput.Pause message. This could cause a state where the SDK thinks the transient pause initiated for user and Alexa dialog never finished, preventing any further Alexa media from playing until the head unit restarts.
  • Fixed a race condition in DoNotDisturb capability agent that could cause a crash during Engine shutdown.
  • Fixed an issue in which Alexa speech did not play when the user asks to redial while their phone is disconnected.
  • Updated MessageStream::write() to return 0 when writing the data to the consumer fails rather than returning the data size.
  • Fixed issues in which the Engine did not send the TemplateRuntime.ClearTemplate message at the right time.
  • Pinned Conan package revisions of various dependencies to avoid sudden failures building Auto SDK.
  • Fixed an issue in which the Engine did not send TemplateRuntime.ClearPlayerInfo when the user signs out.
  • Fixed an issue in which the Navigation.StartNavigation AASB message did not include the correct POI details of the destination when the user selected the destination from the POI card shown on screen. Previously the “name” field in the template payload was populated with the address instead of the POI name.
  • Fixed an issue in which the local navigation skill produced a second, duplicate TemplateRuntime.RenderTemplate message for the LocalSearchDetailTemplate1 card when the user started offline navigation with Alexa.
  • Fixed an issue in offline mode in which Alexa did not recognize followup requests like "select the first one" after the user requests a search for POIs or addresses.

Alexa Auto App

  • Fixed various issues in the Alexa media session:
    • Rather than leaving the media session active and open indefinitely, the media session deactivates, stops its service, and removes the foreground service notification when media is no longer playing. The media service also sets the session to be inactive when the user signs out of their Alexa account or disables Alexa on the head unit.
    • The media session no longer reports error states when there is no player or sign-in error. The issue in which the error state could overtake a valid state of active media and remove all its supported controls from the session, breaking the media app UI and the instrument cluster or media widget display, is also resolved.
    • Previously, if the user played Alexa media and then switched to the Spotify app or a local media source, Alexa media could not resume with voice or button press after the user switched back to the Alexa media UI . This is resolved so the user can switch between the two types of Alexa-aware players and properly pause or resume the content they are viewing on screen.
    • The media session clears its playback data and stops playback when the customer signs out of their Alexa account on the head unit. Also resolved the issues that un-recoverably corrupted the state of the media session after user sign out.
    • Fixed issues in which the media session could report unexpected playback states to Auto SDK, causing problems such as not being able to resume properly when paused for an utterance or skipping to the next song unexpectedly.
  • Fixed an issue in which the Alexa Voice UI would remain open and transparent after the voice session ended.
  • Fixed an issue in which the points of interest display card remained open when navigation started. Previously, the user had to manually close the card.
  • Fixed an issue in which the wake word is recognized before the user signed in to their Alexa account when LVC is enabled.
  • Fixed an issue in which the “None” string in the Alexa communications settings was always displayed in English.
  • Fixed an issue in which asking Alexa to set the volume updated the volume on the head unit as expected, but Alexa would respond with the wrong value to subsequent voice requests like "Alexa, what's the volume?"
  • Fixed a crash when using local media source control when notification listener access was not granted. Allowlisting the Alexa Auto App for privileged install permission MEDIA_CONTENT_CONTROL prior to installation is required by default, and notification listener access is no longer required to use local media source control.
  • Fixed an issue in which the user could not add an additional stop to the active navigation route because Alexa could not properly retrieve navigation context from the head unit.
  • Fixed an issue with offline calling in which Alexa would repeatedly prompt "Which phone number or contact do you want to call?" without ending the interaction if she could not resolve the user's requested contact name.
  • Fixed an external wake word engine integration issue.
  • Improved app stability

Known Issues

Auto SDK

General

  • The Alexa Automotive UX guidelines specify when to automatically dismiss a TemplateRuntime display card for each template type. The Engine publishes the TemplateRuntime interface messages ClearTemplate and ClearPlayerInfo based on the timeouts configured in the aace.alexa.templateRuntimeCapabilityAgent Engine configuration. However, the configuration does not provide enough granularity to specify timeouts for different types of display cards. Consequently, there is no way for your application to configure automatically dismissing local search templates (e.g., LocalSearchListTemplate2) with a different timeout than other templates (e.g., WeatherTemplate). The configuration also does not provide a way for you to specify infinite timeout for NowPlaying cards. You must implement your application’s dismissal logic for display cards and media info accordingly.
  • There is a rare race condition in which publishing the AlexaClient.StopForegroundActivity message does not cancel the active Alexa interaction. The race condition can happen when the application publishes the message at the beginning of the THINKING state AlexaClient.DialogStateChanged transition.

Car control

  • If you configure the Auto SDK Engine a...
Read more

Version 4.1.1 Alexa Auto SDK

09 Aug 05:18
Compare
Choose a tag to compare

Version 4.1.1 Alexa Auto SDK

The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.

v4.1.1

  • v4.1.1 released on 2022-08-08

Enhancements

  • Improved Auto SDK AACS Sample App Setup and Settings UX.
  • Updated APL renderer app component, as well as dependent APL Viewhost Android libraries (AARs). It is highly recommended you update to release 4.1.1 for APL integrations.

Note: All Auto SDK 4.1 extensions are compatible with 4.1.1.

Resolved Issues

  • Improved the settings menu by expanding the clickable area of settings, and added missing descriptions for menu items.
  • Fixed a race condition in which updating the Alexa language setting, and then navigating away from the menu page could crash the application without switching the language.
  • Fixed an issue in which the Alexa comms permission screen did not render properly. Improved the margin alignment issue in the setup screens.

Known Issues
General

  • The Alexa Automotive UX guidelines specify when to automatically dismiss a TemplateRuntime display card for each template type. The Engine publishes the TemplateRuntime interface messages ClearTemplate and ClearPlayerInfo based on the timeouts configured in the aace.alexa.templateRuntimeCapabilityAgent Engine configuration. However, the configuration does not provide enough granularity to specify timeouts for different types of display cards. Consequently, there is no way for your application to configure automatically dismissing local search templates (e.g., LocalSearchListTemplate2) with a different timeout than other templates (e.g., WeatherTemplate). The configuration also does not provide a way for you to specify infinite timeout for NowPlaying cards. You must implement your application’s dismissal logic for display cards and media info accordingly.
  • There is a rare race condition in which publishing the AlexaClient.StopForegroundActivity message does not cancel the active Alexa interaction. The race condition can happen when the application publishes the message at the beginning of the THINKING state AlexaClient.DialogStateChanged transition.

Car control

  • If you configure the Auto SDK Engine and connect to Alexa using a set of endpoint configurations, you cannot delete any endpoint in the set from Alexa. For example, after you configure set A with endpoints 1, 2, and 3, if you change your car control configuration during development to set B with endpoints 2, 3, and 4, Alexa retains endpoint 1 from set A, which might interfere with resolving the correct endpoint ID for your utterances. However, any endpoint configurations with matching IDs override previous configurations. For example, the configuration of endpoint 2 in set B replaces endpoint 2 in set A. During development, limit configuration changes to create only supersets of previous endpoint configurations. Work with your Solutions Architect or Partner Manager to produce the correct configuration on the first try

Communications

  • If the user asks Alexa to redial the last called number when their phone is not connected to the head unit, Alexa is silent rather than prompting the user to connect their phone.

Entertainment

  • When music is playing, repeatedly pressing the “next” button to advance in the playlist restarts the current song.
  • When using the LVC extension, if the application publishes the MediaPlaybackRequestor.RequestMediaPlayback AASB message before the Auto SDK Engine connects to Alexa cloud, media playback will not automatically resume as expected. The workaround is to wait for the connection to Alexa cloud to complete before publishing the RequestMediaPlayback message.
  • There is no AASB message to indicate to Alexa that the user switched the media player UI on the head unit from an Alexa-integrated local media source, such as FM radio, to Alexa cloud-based music service provider. The only way to switch the audio context between the two player types is through voice interaction explicitly requesting a particular player.
  • If your application cancels an Alexa interaction by sending the AlexaClient.StopForegroundActivity message to the Engine during music playback, the Engine might erroneously request your application to dismiss the NowPlaying media info by publishing the TemplateRuntime.ClearPlayerInfo message. Your application should not dismiss the media info in this scenario.

Local Voice Control

  • In offline mode with LVC, after the user requests a list of POIs with an utterance such as “Alexa, find a nearby Starbucks”, Alexa does not recognize follow up requests such as "Alexa, select the first one" and does not display or read detailed information about the requested selection.

AACS sample app

  • Sometimes the sample app will display an error page during sign-in if the user launched the app with the launcher icon. The recommended workaround is to set Alexa as the default assistant in the settings menu to guarantee AACS initializes properly before sign in.
  • APL Card is prematurely closed if there is music playing in the background and APL command SpeakItem or SpeakListis executed.
  • The voice interaction UI does not match the automotive UX guidelines for touching the screen during the interaction. The UX guidelines state that the interaction should continue if the user taps or scrolls, but the sample app cancels the interaction when the user taps or scrolls.
  • The volume Alexa uses to read a shopping list is louder than the volume set for other Alexa responses.
  • When the device has internet disconnected and the user sets the system language to a language not supported by Alexa, the sample app does not always display the language selection screen automatically.
  • When the user revokes Alexa permission to use the microphone and then re-enables the permission, Alexa does not respond to utterances until the user restarts the app.
  • If an alert is going off while Alexa is speaking, the timer audio cancels the Alexa speech. timer is going off while Alexa is speaking, the timer audio cancels the Alexa speech.

C++ sample app

  • The sample app may fail to handle synchronous-style AASB messages within the required timeout to construct device context for Alexa. As a result, some utterances may not work as expected.

Read the SDK Docs

Version 4.1.0 Alexa Auto SDK

28 May 02:32
Compare
Choose a tag to compare

Version 4.1.0 Alexa Auto SDK

The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.

v4.1.0

  • v4.1.0 released on 2022-05-27

Enhancements

Auto SDK

  • Added support to display a smart home dashboard using voice requests such as “Alexa, show me my smart home dashboard”. The user can use the dashboard to monitor and control the states of their smart home devices such as lights, plugs, switches, and thermostats. The smart home dashboard is powered by APL and updates to reflect the vehicle’s settings for day and night mode, custom themes, and driving state.
  • Added the Feature Discovery interface, enabling users to learn about Alexa features by providing an API for your application to retrieve and display suggested utterances dynamically. For more information, see the Feature Discovery documentation.
  • Deprecated the Local Voice Control (LVC) APK in favor of a new LVC AACS App Component that integrates LVC directly into AACS. See the Local Voice Control extension documentation for more information.
  • Enhanced LVC offline local search to support voice-based search and navigation to cheap gas stations and electric vehicle charging stations for en-US locale.
  • Enhanced LVC offline navigation feature to show/navigate to previous destinations, show alternate route, route-based ETA, and add/remove waypoints to POI, user favorites, and address for en-US locale.
  • Updated Alexa to disallow Alexa Presentation Language (APL), directives from skills that are not explicitly certified as safe for automotive. Certified skills may render APL, and uncertified skills fall back to experiences with TemplateRuntime (if supported) or voice-only.
  • Updated the aace.vehicle.info configuration to include two additional optional fields, engineType and rseEmbeddedFireTvs. See the Core module documentation for additional information.
  • Updated the Auto SDK Builder Tool to use a custom Python interpreter /usr/bin/env python3 rather than the previously hardcoded /usr/bin/python3
  • Updated the Auto SDK Builder Tool to use the additional compiler and linker flags that enable exploit mitigation techniques, including safe stack, stack canary, fortifying source, and RELRO.
  • Updated the following dependency versions:
  • The Auto SDK build system was updated to support QNX 7.0 and QNX 7.1 SDP cross-compilation.
  • Added the option libcurl:openssl_version to the Auto SDK build system recipes to specify the OpenSSL version.
  • Enhanced Auto SDK logs to display thread ID and uses different colors per log level.
  • Added support to build Auto SDK using a custom toolchain. See the Build Alexa Auto SDK documentation for more information.

AACS Sample App for Android Automotive OS

  • Added an Alexa app icon that allows users to launch the AACS sample app directly from the app launcher instead of the system settings menu.
  • Added Things-to-try in setting menu that displays a list of utterances for user to try out in different domains.
  • Enhanced the Navigation app component that provides a plugin framework for 3P navigation provider. See Alexa Auto Navigation app-component for details.
  • Interruption Behavior - Push-to-talk (PTT) now interrupts while Alexa is speaking/thinking, and cancels when Alexa is listening. Barge-in sounds now play, in the previous version the new dialog would start silently.
  • Alexa setup flow is now interrupted if the vehicle is in motion, and setup flow is resumed when the vehicle returns to the parked state. Implemented a BACK button that returns the user to the previous activity when pressed.
  • Enhanced the contacts sharing consent UI to display the consent screen when a new phone is paired and to persist consent for subsequent pairings. Previously, the consent UI only displayed as part of the setup flow.
  • Enhanced the communications screen UI to display all paired phones instead of only connected phones. This enables the user to enable or disable contacts from a paired phone at any time.
  • Added a short "exit" animation to the voice chrome UI that displays on transitions from Speaking to Idle or Listening to Idle.
  • Added support for handling Alexa's Language selection mismatch between system and Alexa supported languages during first-time user experience (FTUE) and subsequent language changes.

Resolved Issues

Auto SDK

  • Fixed an issue in which the CBL module did not check the network connection status when attempting to refresh an access token. If there was no network connection when the refresh was attempted, the token would not refresh immediately when connection was restored.
  • Fixed an issue in which the “Alexa, stop” utterance did not stop music playback when audio ducking is enabled.
  • Fixed periodic Engine shutdown crashes in ContextManager, ExternalMediaPlayer, and AACS.
  • Fixed an issue in which the Navigation module inserted an invalid error code in the payload of the ShowAlternativeRoutesFailed event. Additionally added the NOT_NAVIGATING error code to the Navigation AASB interface. See the Navigation module documentation for info about which error codes to use.
  • Fixed issues that could cause the Engine to hang indefinitely at shutdown.
  • Fixed an issue in the Local Navigation module of the LVC extension that could cause Engine restart to fail after a previous Engine stop.
  • Fixed an issue in which applications had to manually include header files from the Nlohmann - JSON for Modern C++ library (https://github.com/nlohmann/json) because the Auto SDK build did not export them
  • Fixed an issue in which offline local search and navigation for POIs was not working.
  • Fixed an issue in which the C++ sample app crashed during launch on the Poky Linux 32-bit platform.

AACS Sample App

  • Fixed the language selection screen in the AACS sample app when the Preview Mode feature is enabled.
  • Fixed an issue in which the AACS sample app did not play alarms when the device is offline.
  • Fixed an issue in which the display card for a second weather utterance closed too soon.
  • Fixed an issue which the AACS sample app did not reset the contact permissions when switching accounts
  • Fixed an issue in which the AACS sample app stopped music playback when the user tapped the screen showing a display card.
  • Fixed an issue in which AACS did not play the Alexa confirmation speech when the user creates a notification while music is playing.

Known Issues

General

  • The Alexa Automotive UX guidelines specify when to automatically dismiss a TemplateRuntime display card for each template type. The Engine publishes the TemplateRuntime interface messages ClearTemplate and ClearPlayerInfo based on the timeouts configured in the aace.alexa.templateRuntimeCapabilityAgent Engine configuration. However, the configuration does not provide enough granularity to specify timeouts for different types of display cards. Consequently, there is no way for your application to configure automatically dismissing local search templates (e.g., LocalSearchListTemplate2) with a different timeout than other templates (e.g., WeatherTemplate). The configuration also does not provide a way for you to specify infinite timeout for NowPlaying cards. You must implement your application’s dismissal logic for display cards and media info accordingly.
  • There is a rare race condition in which publishing the AlexaClient.StopForegroundActivity message does not cancel the active Alexa interaction. The race condition can happen when the application publishes the message at the beginning of the THINKING state AlexaClient.DialogStateChanged transition.

Car control

  • If you configure the Auto SDK Engine and connect to Alexa using a set of endpoint configurations, you cannot delete any endpoint in the set from Alexa. For example, after you configure set A with endpoints 1, 2, and 3, if you change your car control configuration during development to set B with endpoints 2, 3, and 4, Alexa retains endpoint 1 from set A, which might interfere with resolving the correct endpoint ID for your utterances. However, any endpoint configurations with matching IDs override previous configurations. For example, the configuration of endpoint 2 in set B replaces endpoint 2 in set A. During development, limit configuration changes to create only supersets of previous endpoint configurations. Work with your Solutions Architect or Partner Manager to produce the correct configuration on the first try

Communications

  • If the user asks Alexa to redial the last called number when their phone is not connected to the head unit, Alexa is silent rather than prompting the user to connect their phone.

Entertainment

  • When music is playing, repeatedly pressing the “next” button to advance in the playlist restarts the current song.
  • When using the LVC extension, if the application publishes the MediaPlaybackRequestor.RequestMediaPlayback AASB message before the Auto SDK Engine connects to Alexa cloud, media playback will not automatically resume as expected. The workaround is to wait for the connection to Alexa cloud to complete before publishing the RequestMediaPlayback message.
  • There is no AASB message to indicate to Alexa that the user switched the media player UI on the head unit from an Alexa-integrated local media source, such as FM radio, to Alexa cloud-based music service provider. The only way to switch the audio context between the two player types is through voice intera...
Read more

Version 4.0.0 Alexa Auto SDK

16 Dec 02:54
Compare
Choose a tag to compare

Version 4.0.0 Alexa Auto SDK

The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.

v4.0.0

  • v4.0.0 released on 2021-12-15

Enhancements

  • Deprecated the C++ and Java platform interfaces in favor of an asynchronous message-based API. Auto SDK client applications use the new MessageBroker to publish and subscribe to Alexa Auto Services Bridge (AASB) messages. The C++ sample app is refactored to use the new API to provide a reference implementation for Linux platforms. The Alexa Auto Client Service (AACS) sample app provides the reference implementation for Android platforms. See the Auto SDK Migration Guide for help migrating your application to use the new API.

  • Enhanced the Auto SDK build system with the Conan package manager. The new build system introduces modular builds, better dependency management, and simpler build artifacts. The Auto SDK build system includes the Auto SDK Builder Tool script, which wraps the Conan build commands with a simple interface similar to the previous version of Auto SDK Builder. See the Build Alexa Auto SDK documentation for details about the build system and the Migration Guide for help migrating your build to the new version of Builder Tool.

  • Extended the features of Alexa Presentation Language (APL) support for automotive. The APL module provides messages to report vehicle properties such as the display theme, driving state, and ambient light conditions. The property settings affect how APL documents render on screen; for example, some APL content is automatically hidden when the vehicle starts moving, and the display contrast updates with the day or night mode setting. Auto SDK 4.0 supports APL 1.9. For more information about the Auto SDK APL interface, see the APL module documentation.

  • Added the CustomDomain interface, which establishes a bidirectional communication channel between your Auto SDK client application and your custom cloud skill. CustomDomain includes messages for exchanging directives, events, and context between the vehicle and your skill, achieving a fully customizable experience. For more information about the Auto SDK CustomDomain interface, See the Custom Domain module documentation.

  • Added the MediaPlaybackRequestor interface, which enables Alexa to play the user’s favorite media content as soon as they start their vehicle. MediaPlaybackRequestor simplifies content selection for the user by removing the need for the user to use buttons or voice commands to resume the Alexa media content that was playing when they stopped the vehicle. For more information about the Auto SDK MediaPlaybackRequestor interface, See the Alexa module documentation.

  • Extended the AudioOutput interface and added configuration to allow ducking Alexa media. Your application can use this feature for enhanced control of Alexa content audio focus according to your platform requirements. For more information about audio ducking, see the Core module documentation.

  • Updated the Auto SDK to use AVS Device SDK Version 1.25.0. For information about this version of AVS Device SDK, see the AVS Device SDK release notes.

  • Added LVC support for Alexa Custom Assistant specialized handoffs. You can configure the default fallback and self-introduction prompts for your custom assistant while offline. For more information, see the Alexa Custom Assistant extension documentation.

  • Integrated the Auto SDK Conan build system enhancements to AACS and the AACS sample app. You can use a single Gradle command to build AACS and the AACS sample app. For build instructions, see the AACS documentation.

  • Added the following enhancements to the AACS sample app:

    • Additional languages— The AACS sample app supports the following languages: US English (en-US), Australian English (en-AU), Canadian English (en-CA), Indian English (en-IN), British English (en-GB), German (de-DE), Spanish (es-ES), Mexican Spanish (es-MX), US Spanish (es-US), French (fr-FR), Canadian French (fr-CA), Hindi (hi-IN), Italian (it-IT), Japanese (ja-JP), and Brazilian Portuguese (pr-BR).

      The sample app language setting matches the device’s system language setting and syncs the with Alexa as long as the setting is in the supported language list. If Alexa does not support the system language, the sample app GUI defaults to en-US and presents a list of languages for the user to choose from. Once the user selects the language override, the system language does not sync with the sample app again until the user logs out or disables Alexa.

    • Network error prompts— You can configure the sample app to provide feedback to the user when Alexa cannot respond due internet connection issues. The feedback is a voice prompt or an error screen depending on the user action.

    • Alexa app assets— The sample app can show Alexa logos (assets) on the setup screen and display cards instead of showing placeholder assets.

    • Comms UI improvements— Updated the contacts uploading logic in the Comms UI AACS app component to ensure the sample app only uploads the contacts for the primary phone.

  • Updated the AACS Telephony library to get the outgoing phone account using the Android standard API getDefaultOutgoingPhoneAccount. AACS Telephony no longer sends an account query intent when receiving the PhoneCallController.Dial message from the Auto SDK Engine.

  • Added a new intent com.amazon.aacstelephony.bluetooth.connectionCheckCompleted, which AACS Telephony service broadcasts when it finishes the initial bluetooth connection check.

  • Updated the alexa-auto-lwa-auth app component to use the Authorization Auto SDK interface for CBL authorization.

Other changes

  • Moved several source code directories within the aac-sdk root directory to support the enhanced build system.

    • Removed aac-sdk/platforms/android/. The deprecated Java platform interfaces and JNI are in their respective modules. For example, the Alexa module Java interfaces and JNI are moved from aac-sdk/platforms/android/modules/alexa/ to aac-sdk/modules/alexa/android/

    • Removed aac-sdk/extensions/aasb/ because using AASB messages with MessageBroker is the primary Auto SDK API. AASB code for each module is in the respective module directory. For example, the AASB code for the Alexa module is in aac-sdk/modules/alexa/aasb/. Note that the AASB message headers to include in your application are not in this directory since they are generated as part of the Auto SDK build output.

    • Moved aac-sdk/extensions/system-audio/ to aac-sdk/modules/system-audio/

    • Moved aac-sdk/extensions/bluetooth/ to aac-sdk/modules/bluetooth/

    • Moved aac-sdk/extensions/loopback-detector/ to aac-sdk/modules/loopback-detector/

    • Moved aac-sdk/platforms/android/alexa-auto-client-service/ to aac-sdk/aacs/android/

    • Moved aac-sdk/platforms/android/alexa-auto-client-service/app-components/ to aac-sdk/aacs/android/app-components/

    • Moved aac-sdk/samples/android-aacs-sample-app/ to aac-sdk/aacs/android/sample-app/

    • Moved aac-sdk/platforms/android/alexa-auto-client-service /commonutils/ , /ipc/, and /constants/ to aac-sdk/aacs/android/common/

    • Moved AACS media player files to a directory audioOutput within aac-sdk/platforms/android/alexa-auto-client-service/service/

    • Moved the Media App Command and Control Android library from aac-sdk/platforms/android/maccandroid/ to aac-sdk/aacs/android/service/modules/maccandroid/

  • In the LVC extension, the LocalSearchProvider AASB messages now have topic LocalNavigation. For example, the existing message LocalSearchProvider.SearchRequest in 3.3 is LocalNavigation.SearchRequest in 4.0. The next major release version of Auto SDK will change the topic back to LocalSearchProvider.

  • Deprecated the option to build AACS as an APK. Starting from Auto SDK 4.0, you can only build AACS as an AAR.

  • Removed the Android sample app based on the Java platform interfaces. The AACS sample app demonstrates using Auto SDK on Android.

Resolved Issues

  • Fixed an issue preventing the generic DEFAULT type LocalMediaSource from working in offline mode with LVC.

  • Fixed a race condition in SpeechRecognizer in which enabling wake word detection immediately after calling startCapture() resulted in a missing call to stopAudioInput() when wake word detection was later disabled.

  • Fixed a deadlock that could occur in an application that uses the deprecated AuthProvider interface and starts, stops, and restarts the Engine in quick succession.

  • Fixed an issue in which Spotify playback commands were delayed on QNX.

  • Fixed an issue in which the Engine added malformed PhoneCallController context to PhoneCallController events sent to Alexa.

  • Fixed an issue in which AACS did not acquire audio focus prior to playing Alexa speech.

Known Issues

General

  • If you do not specify the deviceSettings.locales field of the Alexa module configuration, the Engine automatically declares support for the following locale combinations: ["en-US", "es-US"], ["es-US", "en-US"], ["en-IN", "hi-IN"], ["hi-IN", "en-IN"], ["fr-CA", "en-CA"], ["en-CA", "fr-CA"].
    The Engine does not automatically declare support for default locale combinations if you assign an empty value to the locales field.

  • The Engine does not persist the `aace.alexa....

Read more

Version 3.3.0 Alexa Auto SDK

30 Sep 19:54
Compare
Choose a tag to compare

Version 3.3.0 Alexa Auto SDK

The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.

v3.3.0

  • v3.3.0 released on 2021-09-30

Enhancements

  • Added the DeviceUsage platform interface to provide the Alexa application network usage data to the Auto SDK Engine. The Auto SDK Engine emits this data as a metric to Amazon if Auto SDK is built with the Device Client Metrics extension. For more information, see the Core module README for C++ or Android.

  • Extended the features of the Local Navigation module for the Local Voice Control (LVC) extension. The LocalSearchProvider platform interface now enables you to provide customers with offline navigation to street addresses, cities, and neighborhoods in addition to the existing support for local search and navigation to points of interest. See the Local Navigation module README for information about integrating the features.

    Note: There are updates to the LocalSearchProvider APIs. See the Migration Guide for details.

  • Added a new generic DEFAULT media source to the list of sources supported by the LocalMediaSource platform interface. The DEFAULT source can be used for voice playback control of any arbitrary media sources on the infotainment system outside of deep-linked MACC applications using the ExternalMediaAdapter interface and existing sources supported by name through the LocalMediaSource interface. For details about integrating a default media source, see the Alexa module README for C++ or Android.

  • Added offline LVC support for tuning to station names on terrestrial radio and SiriusXM. E.g., “Play CNN on Sirius XM” and “Play KISS FM”. This feature is already available in online mode.

  • Enhancements for AACS:

    • Added an app component called alexa-auto-carcontrol that deeply integrates Auto SDK car control features into the Android Automotive OS. For more information about AACS deep integration to Car Control, please refer to this README.

    • Added an enhancement in which AACS can automatically sync Alexa’s timezone and locale properties with the device system settings when you set the syncSystemPropertyChange field to true in your AACS configuration file. If you set the field to false or omit it, you still have flexibility to change the properties in your own implementation.

  • Enhancements for AACS Sample App:

    • Added a location sharing consent screen in Alexa setup and settings wherein the user has the option to enable or disable location sharing.

    • Added support for rendering for TemplateRuntime display cards for the weather domain.

    • Added support for rendering Amazon Presentation Language (APL) documents.

    • Added media player transport control improvements. For example, shuffle and loop transport controls are added, and disabled transport controls are displayed.

    • Added support for setup and setting menu specific to the Alexa Custom Assistant extension.

Resolved Issues

  • Android 11 requires the attribute android:foregroundServiceType to be defined in services that require permissions such as microphone and location. This is added to the AACS Android Manifest file. Also, the compileSdkVersion and targetSdkVersion to are updated to 30 in build.gradle.

  • Added a UserIdentity value in AACS AuthStatus when the user finishes CBL login.

  • Made the 'stateOrRegion' field optional in the AACS StartNavigation directive JSON parser.

  • Implemented the AASB SetUserProfile message in the CBL module to ensure the user email and username will be sent to the client application after user login when enableUserProfile is set to true.

  • Fixed an issue that blocked a valid transition from the THINKING to LISTENING AlexaClient dialog states.

  • Updated the PhoneCallControllerCapabilityAgent to include context in PhoneCallController events per the PhoneCallController API specification.

  • Fixed a memory leak observed during Engine shutdown in the Local Voice Control extension.

  • Fixed a rare deadlock issue during Engine stop and start when using the AuthProvider interface.

  • Fixed an issue in which the Engine erroneously allowed 3,000 coordinates in the "shapes" array of navigation state queried via Navigation::getNavigationState(). The limit is updated to 100 coordinates.

Known Issues

  • General

    • If the "locales" field of the "deviceSettings" node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations:
      ["en-US", "es-US"],
      ["es-US", "en-US"],
      ["en-IN", "hi-IN"],
      ["hi-IN", "en-IN"],
      ["fr-CA", "en-CA"],
      ["en-CA", "fr-CA"].

      The Engine does not declare support for locale combinations if the "locales" field is assigned an empty value.

    • The wakewordEnabled property is not persistent across device reboots. If you use AACS, however, this issue does not occur.

    • For Linux platforms, if your hardware does not use AVX2 instructions, the wake word library initialization causes an illegal instruction error.

    • When using LVC and calling Engine::stop(), the AlexaClient connection status remains CONNECTED because the connection to LVC is not disabled. Your implementation should not accept user utterances while the Engine is stopped despite the connection status showing CONNECTED.

    • The automotive HMI guidelines for display cards state that actionable display cards should be dismissed automatically after 30 seconds, and non-actionable display cards should be dismissed automatically after 8 seconds. This guideline is not descriptive enough since it does not clarify what is actionable and non-actionable content. The UX team is working on correcting the guideline to specify specific template types. The current automatic dismissal time for all Template Runtime display cards is 8 seconds.

  • Car Control

    • If you configure the Auto SDK Engine and connect to Alexa using a set of endpoint configurations, you cannot delete any endpoint in a set in the cloud. For example, after you configure set A with endpoints 1, 2, and 3, if you change your car control configuration during development to set B with endpoints 2, 3, and 4, endpoint 1 from set A remains in the cloud and might interfere with resolving the correct endpoint ID for your utterances. However, any endpoint configurations with matching IDs override previous configurations. For example, the configuration of endpoint 2 in set B replaces endpoint 2 in set A. During development, limit configuration changes to create only supersets of previous endpoint configurations. Work with your Solutions Architect or Partner Manager to produce the correct configuration on the first try.
  • Communications

    • DTMF utterances that include the letters "A", "B", "C", or "D" (for example "press A" or "dial 3*#B") are ignored.

    • Calling numbers such as 1-800-xxx-xxxx by using utterances such as “Alexa call one eight double oh...” may return unexpected results. Similarly, when you call numbers by using utterances that include "triple," "hundred," and "thousand," or press special characters such as # or * by saying "Alexa press *#", you may experience unexpected results. We recommend that your client application ignore special characters, dots, and non-numeric characters when requesting Alexa to call or press digits.

    • A user playing any skill with extended multi-turn dialogs (such as Jeopardy or Skyrim) cannot use voice to accept or reject incoming Alexa-to-Alexa calls.

  • Entertainment

    • A user playing notifications while music is playing hears the music for a split second between the end of one notification and the start of the next.

    • The word, "line-in," in an utterance is sometimes misinterpreted as "line" or other words. For example, if the user says, "Switch to line-in," the misinterpretation of "line-in" might cause an incorrect response.

    • When an external player authorization is in progress at the exact moment of shutdown, a very rare race condition might occur, causing the Engine to crash.

    • If your application displays the NowPlaying TemplateRuntime display card when Alexa plays media, the card might be erroneously dismissed by the Auto SDK Engine with a call to TemplateRuntime::clearPlayerInfo() if your application calls AlexaClient::stopForegroundActivity() to cancel an Alexa interaction. For example, the user might initiate an Alexa interaction during music playback and then cancel it by pressing a cancel button while Alexa is listening, thinking, or speaking. The media display card should not be dismissed in this scenario.

    • The generic DEFAULT LocalMediaSource type is not supported offline with LVC. If user gives a generic playback control request like "Alexa, play" when the Alexa application is operating in the offline mode with LVC, Alexa responds "Sorry, something went wrong". Other named players like USB work as expected in the offline mode.

  • Authentication

    • The CBL module uses a backoff when refreshing the access token after expiry. If the internet is disconnected when the refresh is attempted, it could take up to a minute to refresh the token when the internet connection is restored.
  • Local Search and Navigation

    • When using LVC in offline mode, after requesting a list of POIs (e.g., "find Starbucks nea...
Read more

Version 3.2.1 Alexa Auto SDK

07 Aug 04:30
Compare
Choose a tag to compare

Version 3.2.1 Alexa Auto SDK

The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.

v3.2.1

  • v3.2.1 released on 2021-08-06

Enhancements

  • The Connectivity module supports additional APIs, which enable the voice up-sell conversation between the user and Alexa to activate either a trial data plan or a paid subscription plan. Your implementation should call sendConnectivityEvent to notify the Engine of the data plan type. To respond, the Engine calls connectivityEventResponse.

  • You can customize the Address Book module with the cleanAllAddressBooksAtStart field in the Engine configuration, which specifies whether address books are removed each time the Engine starts.

Note: All Auto SDK 3.2 extensions are compatible with 3.2.1.

Resolved Issues
In v3.2.0, if you use the startCapture API with an external wake word engine, wake words cannot be detected correctly. In v3.2.1, wake word detection works properly with external wake word engines.

Known Issues

  • General

    • If the "locales" field of the "deviceSettings" node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations:
      ["en-US", "es-US"],
      ["es-US", "en-US"],
      ["en-IN", "hi-IN"],
      ["hi-IN", "en-IN"],
      ["fr-CA", "en-CA"],
      ["en-CA", "fr-CA"].

      The Engine does not declare support for locale combinations if the "locales" field is assigned an empty value.

    • The wakewordEnabled property is not persistent across device reboots. If you use AACS, however, this issue does not occur.

    • For Linux platforms, if your hardware does not use AVX2 instructions, the wake word library initialization causes an illegal instruction error.

  • Car Control

    • If you configure the Auto SDK Engine and connect to Alexa using a set of endpoint configurations, you cannot delete any endpoint in a set in the cloud. For example, after you configure set A with endpoints 1, 2, and 3, if you change your car control configuration during development to set B with endpoints 2, 3, and 4, endpoint 1 from set A remains in the cloud and might interfere with resolving the correct endpoint ID for your utterances. However, any endpoint configurations with matching IDs override previous configurations. For example, the configuration of endpoint 2 in set B replaces endpoint 2 in set A. During development, limit configuration changes to create only supersets of previous endpoint configurations. Work with your Solutions Architect or Partner Manager to produce the correct configuration on the first try.
  • Communications

    • DTMF utterances that include the letters "A", "B", "C", or "D" (for example "press A" or "dial 3*#B") are ignored.

    • Calling numbers such as 1-800-xxx-xxxx by using utterances such as “Alexa call one eight double oh...” may return unexpected results. Similarly, when you call numbers by using utterances that include "triple," "hundred," and "thousand," or press special characters such as # or * by saying "Alexa press *#", you may experience unexpected results. We recommend that your client application ignore special characters, dots, and non-numeric characters when requesting Alexa to call or press digits.

    • A user playing any skill with extended multi-turn dialogs (such as Jeopardy or Skyrim) cannot use voice to accept or reject incoming Alexa-to-Alexa calls.

  • Entertainment

    • A user playing notifications while music is playing hears the music for a split second between the end of one notification and the start of the next.

    • The word, "line-in," in an utterance is sometimes misinterpreted as "line" or other words. For example, if the user says, "Switch to line-in," the misinterpretation of "line-in" might cause an incorrect response.

    • When an external player authorization is in progress at the exact moment of shutdown, a very rare race condition might occur, causing the Engine to crash.

    • If your Android app displays the NowPlaying Display Card whenever Alexa plays media, the card might be erroneously dismissed. For example, during music playback, if a user invokes Alexa, putting Alexa in LISTENING, THINKING, or SPEAKING state, and then cancels the Alexa session by tapping the Cancel button, the NowPlaying card is dismissed. A media Display Card should not be automatically dismissed in this scenario.

  • Authentication

    • The CBL module uses a backoff when refreshing the access token after expiry. If the internet is disconnected when the refresh is attempted, it could take up to a minute to refresh the token when the internet connection is restored.
  • AACS

    • For some platform interface APIs in the Core module, when an application fails to handle a directive, there is no way to report the failure to the Engine. This is because AASB assumes that the application always handles messages correctly. When AASB incorrectly reports how the application handles the message, the Engine state might become inconsistent with the application state. For example, suppose the Engine sends a directive to the application to set the audio volume but the application fails to make the change. AASB does not report the failure to the Engine. As a result, the Engine's and the application's settings become out of sync. The following list shows the affected APIs:
      • AudioInput:
        • startAudioInput()
      • AudioOutput:
        • setPosition(int64_t position)
        • volumeChanged(float volume)
        • mutedStateChanged(MutedState state)

Read the SDK Docs

Version 2.1.1 Alexa Auto SDK

30 Jul 02:31
Compare
Choose a tag to compare

Version 2.1.1 Alexa Auto SDK

The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.

v2.1.1

  • v2.1.1 released on 2021-07-29

Note: For Android targets, the remote build flavor is not supported because the pre-built default platform AARs for the default Auto SDK modules and the sample-core AAR are not available from the JCenter repo. The information about the remote build flavor in the Android Sample App README is not applicable.

Note: All Auto SDK 2.1 extensions are compatible with 2.1.1.

Resolved Issues
This version resolved a race condition during music playback that could cause the PlaybackStarted event to be delayed for eight seconds.

Known Issues

  • The Alexa cloud currently returns an INVALID_REQUEST_EXCEPTION or INTERNAL_SERVICE_EXCEPTION in response to any navigation event sent by the Auto SDK. You may see a harmless error/exception in the logs.
  • The CBL module uses a backoff when refreshing the access token after expiry. If internet is disconnected when the refresh is attempted, it could take up to a minute for the token to refresh when the internet connection is restored.
  • If the user deregisters from the companion app, Alexa does not prompt or notify the clients and does not reject the ping packet.
  • If you log out and log in, the Do Not Disturb (DND) state is not synchronized with Alexa.
  • When you cancel login with CBL::cancel(), the CBL state does not change to stopped.
  • Calling numbers such as 1800xxxxxxx using utterances such as “Alexa call one eight double oh...” may return unexpected results. Similarly, calling numbers using utterances that include "triple", "hundred" and "thousand" and pressing special characters such as # or* using utterances such as "Alexa press *#" may return unexpected results. Therefore we recommend that your client application ignore special characters, dots, and non-numeric characters when requesting Alexa to call or press digits.
  • The Engine may sometimes stop abruptly on shutdown due to a race condition. However, since shutdown is triggered when the car ignition is turned off, no direct customer impact is expected.
  • The Engine may hang during shutdown if it is shut down while TTS is being played or read. Therefore, you should avoid calling the shutdown method while loading or playing SpeechSynthesizer audio.
  • When online, Alexa does not recognize the utterance “Switch to line In.”
  • A user playing Jeopardy or Skyrim cannot accept or reject incoming Alexa-to-Alexa calls using voice.
  • If the local timezone of your device differs from the timezone that was configured through the Alexa companion app, the user may experience unexpected behavior. For example, if your device shows 12pm PST, but the device on the Alexa companion app is configured with an EST timezone, then asking "Alexa set an alarm for 1pm today," will return, "Sorry I can't set alarms in the past".
  • When pausing and resuming music, volume adjustments are lost.
  • A user playing notifications while music is playing will hear the music for a split second between the end of one notification and the start of the next.
  • The External Media Player (EMP) Engine implementation does not wait for a dialog channel focus change to complete, such as after TTS, before executing an EMP directive, such as playing the CD player. As a result, you may see an unexpected sequence of Local Media Source playControl() method invocations such as play, then pause, followed by play again in quick succession.

Version 2.3.1 Alexa Auto SDK

24 Jul 00:43
Compare
Choose a tag to compare

Version 2.3.1 Alexa Auto SDK

The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.

v2.3.1

  • v2.3.1 released on 2021-07-23

Enhancements
Added support for specifying the HTTP proxy server address and custom HTTP headers that are passed to the proxy. For information about specifying the proxy server address and header, see the Core module README for C++ or for Android. To test the HTTP proxy configuration, use the Android Sample App. The C++ Sample App does not support testing the configuration.

Note: For Android targets, the remote build flavor is not supported because the pre-built default platform AARs for the default Auto SDK modules and the sample-core AAR are not available from the JCenter repo. The information in the Android Sample App README is not applicable.

Note: All Auto SDK 2.3 extensions are compatible with 2.3.1.

Known Issues

  • General

    • A user barging in when music is playing sometimes hears the Alexa response to the barge-in request and the music at the same time if System Audio extension is used.

    • If the "locales" field of the "deviceSettings" node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations:
      ["en-US", "es-US"],
      ["es-US", "en-US"],
      ["en-IN", "hi-IN"],
      ["hi-IN", "en-IN"],
      ["fr-CA", "en-CA"],
      ["en-CA", "fr-CA"].

      The Engine does not declare support for locale combinations if the "locales" field is assigned an empty value.

  • Car Control

    • For car control, there is a limit of two Device Serial Numbers (DSN) per account or Customer ID (CID). Limit the number of devices for testing with a single account accordingly. If you use the Android sample app, be sure to configure a specific DSN.
    • It can take up to 20 seconds from the time of user login to the time Alexa is available to accept utterances. The cloud uses this time to ingest the car control endpoint configurations sent by Auto SDK after login.
    • If you configure the Auto SDK Engine and connect to Alexa using a set of endpoint configurations, you cannot delete any endpoint in a set in the cloud. For example, after you configure set A with endpoints 1, 2, and 3, if you change your car control configuration during development to set B with endpoints 2, 3, and 4, endpoint 1 from set A remains in the cloud and might interfere with resolving the correct endpoint ID for your utterances. However, any endpoint configurations with matching IDs override previous configurations. For example, the configuration of endpoint 2 in set B replaces endpoint 2 in set A. During development, limit configuration changes to create only supersets of previous endpoint configurations. Work with your Solutions Architect or Partner Manager to produce the correct configuration on the first try.
    • Car control utterances that are variations of supported utterances but do not follow the supported utterance patterns return errors. Examples include “please turn on the light in the car” instead of the supported “turn on the light“, and ”put on the defroster“ or “defrost the windshield” instead of the supported ”turn on the defroster”.
    • The air conditioner endpoint supports only Power Controller and Mode Controller capabilities, not Range Controller for numeric settings.
  • Communications

    • A user request to send an SMS to an Alexa contact results in an Alexa-to-Alexa message instead. However ‘send message’ instead ‘send SMS’ to a contact works.
    • When using LVC in online mode, users can redial a call when the phone connection state is OFF.
    • DTMF utterances that include the letters "A", "B", "C", or "D" (for example "press A" or "dial 3*#B") are ignored.
    • Calling numbers such as 1-800-xxx-xxxx by using utterances such as “Alexa call one eight double oh...” may return unexpected results. Similarly, when you call numbers by using utterances that include "triple," "hundred," and "thousand," or press special characters such as # or * by saying "Alexa press *#", you may experience unexpected results. We recommend that your client application ignore special characters, dots, and non-numeric characters when requesting Alexa to call or press digits.
    • A user playing any skill with extended multi-turn dialogs (such as Jeopardy or Skyrim) cannot use voice to accept or reject incoming Alexa-to-Alexa calls.
  • Entertainment

    • A user playing notifications while music is playing hears the music for a split second between the end of one notification and the start of the next.
    • The user must enunciate “line-in” in utterances targeting the “LINE_IN” Local Media Source type in order for Alexa to recognize the intent.
    • When an external player authorization is in progress at the exact moment of shutdown, a very rare race condition might occur, causing the Engine to crash.
    • On QNX, when a portion of music on Spotify is skipped, either by the user saying "Skip forward" or by the user skipping to a different song, the volume is reset to the default level.
  • Authentication

    • The CBL module uses a backoff when refreshing the access token after expiry. If the internet is disconnected when the refresh is attempted, it could take up to a minute to refresh the token when the internet connection is restored.
    • If you log out and log in, the client-side Do Not Disturb (DND) state may not be synchronized with the Alexa cloud.

Version 3.2.0 Alexa Auto SDK

19 May 18:41
Compare
Choose a tag to compare

Version 3.2.0 Alexa Auto SDK

The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.

v3.2.0

  • v3.2.0 released on 2021-05-19

Enhancements

  • Added the DeviceSetup platform interface that handles events and directives related to device setup during or after an out-of-the-box experience (OOBE). After the user login, Alexa is informed that device setup is complete and starts the on-boarding experience, for example, by starting a short first-time conversation. For more information, see the Alexa module README for C++ or Android.

  • Added support in the Connectivity module to provide the network identifier from the vehicle to Alexa, which enables automakers to offer full connectivity plans to customers. For connectivity status, the module supports sending the version of the terms and conditions through a field called termsVersion. Also, the termsStatus field accepts DEFERRED, which means Alexa can remind users to respond to the terms and conditions at a later time.

  • Added the Mobile Authorization extension, which enables applications running on the vehicle's head unit to simplify the login experience. To log in to Alexa, the user uses the Alexa mobile app on a paired smartphone, instead of opening a web browser and entering a code.

  • Added the Bluetooth extension, which allows the Alexa Auto SDK to connect to devices through the Bluetooth Classic or Bluetooth Low Energy (BLE) protocol.

  • Added the Geolocation extension, which provides geolocation consent support. The user can grant consent to location sharing with Alexa from your application.

  • Added the locationServiceAccessChanged(LocationServiceAccess access) API in the LocationProvider interface, which allows the Engine not to query the device location when the location service access is turned off on the device.

  • Added the APL Render module, which enables APL rendering capabilities in an Android application.

    Note: This module is for you to experiment with APL document rendering on an automotive device. Do not use the module to render APL documents in a production vehicle.

  • Added support in the Address Book module for a phonetic field. The phonetic field is required for resolving the name of a contact or navigation favorite if the name uses Kanji characters in Japanese.

  • Updated the Docker container for the Auto SDK builder script to use OpenSSL 1.1.1k by default. Added an environment variable for you to change the OpenSSL version, if desired. For information about the OpenSSL version, see the Builder README.

  • Updated the Auto SDK to use AVS Device SDK Version 1.22.0. For information about the AVS Device SDK, see the AVS Device SDK Release Notes.

  • Enhancements for AACS:

    • Added AACS instrumentation, which enables you to better understand the interactions between your application and AACS. Through instrumentation, you log Alexa Auto Service Bridge (AASB) messages to a file, which you can review for debugging purposes. For information about AACS instrumentation, see the README.

    • Added an app component called alexa-auto-telephony, which enables you to pre-integrate Alexa Phone Call Controller functionalities with Android Telephony.

    • Added an app component called alexa-auto-contacts to enable AACS Core Service to fetch contact information from the vehicle's head unit and send it to Alexa. The AACS Core Service can also use this library to remove from Alexa the uploaded contact information.

    • Added the AACS AAR, which you can include in your application.

    • The timeout for AASB synchronous messages is now configurable. For information about configuring the timeout, see the README.

  • Enhancements for AACS Sample App:

    • Added support for new features in the AACS Sample App. For example, it includes a menu for the user to select a language if the in-vehicle infotainment (IVI) language is not supported by Alexa, and it supports authorization with Preview Mode.

    • Added support for the Alexa Custom Assistant extension to the Alexa Auto Client Service (AACS) Sample App. The sample app demonstrates how an application can use AACS with this extension. With app components included with the sample app, you can develop an application that handles assistant handoff and displays custom animation for your custom assistant.

      Note: In order to use Alexa Custom Assistant extension with the AACS Sample App, you must install an extra component in the Auto SDK. Contact your Amazon Solutions Architect (SA) or Partner Manager for details.

  • Enhancements for metrics uploading:

    • The Auto SDK emits only registration metrics before user login is complete. Other metrics are emitted after user login.

    • The Device Client Metrics (DCM) extension supports uploading more metrics from the vehicle than in previous versions.

    • The DCM extension supports anonymizing all Auto SDK metrics.

  • Enhancements for car control:

    • Added prompt improvements. Alexa can provide a recommendation or ask for clarification after receiving an invalid or ambiguous user request. Suppose a user request targets the wrong mode, setting, or value for an appliance, such as "Alexa, set fan speed to 100", Alexa responds, "Sorry, you can only set the fan between 1 and 10". When the target in a user request is ambiguous, Alexa prompts for more information to determine the exact meaning of the request. For example, when a user says, "Turn on fan" (when the fan's default zone is not set), Alexa responds, "For the driver, the passenger, or the rear?" This feature is supported online and offline.

    • Improved asset management for car control, which enables Alexa to accept utterances only a few seconds after the user logs in. Previously, the user had to wait up to 20 seconds for Alexa to accept utterances.

  • Improved the Auto SDK Voice Chrome extension to allow the height and width of the linear voice chrome to be controlled by the parent layout. Previously, the dimensions were fixed.

Resolved Issues

  • Disabled APL by default in AACS to make sure utterances like "tell me a joke" work correctly without handling APL. If your platform wants to implement APL, see the AACS Configuration README to enable it.

  • An SMS message can be sent to an Alexa contact correctly. A user request to send an SMS message to an Alexa contact no longer results in an Alexa-to-Alexa message.

  • For car control, there is no longer a limit of two Device Serial Numbers (DSN) per account or Customer ID (CID).

  • After the AmazonLite Wake Word locale model is switched from the default (en-US) to another locale model (e.g., de-DE), the newly selected locale remains in effect after the user quits and then restarts the application.

  • Numeric weather IDs are passed to AVS for the TemplateRunTime API, making it easier for you to display weather icons that are consistent with your user interface.

  • After the user disconnects the phone, if the user tries to use Alexa to make a call, Alexa responds correctly by reminding the user to connect the phone. Previously, Alexa tried to dial the number.

  • After the user pauses on Spotify and presses “Play” to resume, the player starts correctly from the point where the player stops. Previously the player skipped ahead, resuming from an incorrect place.

  • AutoVoiceChromeController and StateChangeAnimationScheduler of the Voice Chrome extension are thread-safe now, preventing the Alexa app from crashing in different scenarios (e.g. when changing to the previous music track).

Known Issues

  • General

    • If the "locales" field of the "deviceSettings" node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations:
      ["en-US", "es-US"],
      ["es-US", "en-US"],
      ["en-IN", "hi-IN"],
      ["hi-IN", "en-IN"],
      ["fr-CA", "en-CA"],
      ["en-CA", "fr-CA"].

      The Engine does not declare support for locale combinations if the "locales" field is assigned an empty value.

    • The wakewordEnabled property is not persistent across device reboots. If you use AACS, however, this issue does not occur.

    • For Linux platforms, if your hardware does not use AVX2 instructions, the wake word library initialization causes an illegal instruction error.

  • Car Control

    • If you configure the Auto SDK Engine and connect to Alexa using a set of endpoint configurations, you cannot delete any endpoint in a set in the cloud. For example, after you configure set A with endpoints 1, 2, and 3, if you change your car control configuration during development to set B with endpoints 2, 3, and 4, endpoint 1 from set A remains in the cloud and might interfere with resolving the correct endpoint ID for your utterances. However, any endpoint configurations with matching IDs override previous configurations. For example, the configuration of endpoint 2 in set B replaces endpoint 2 in set A. During development, limit configuration changes to create only supersets of previous endpoint configurations. Work with your Solutions Architect or Partner Manager to produce the correct configuration on the first try.

    • Car control ut...

Read more