About Alexa for Apps
Alexa for Apps lets customers use voice to access content and functionality in your apps and websites, on mobile devices such as Alexa Mobile Accessories, Alexa Built-in phones, or directly from the Alexa app. A single Alexa skill can deep-link to both iOS and Android apps, and if you already have existing deep links, there's no need to modify your app.
See the Alexa for Apps Design Guide for a detailed overview of use cases, interaction models, and customer experiences.
Technical overview of Alexa for Apps
Alexa for Apps introduces Alexa app links, which you can use to help customers connect to content or functionality in your iOS app, Android app, or website. As an Alexa skill developer, you can use the Alexa App Link interface in your custom skill to launch mobile device customers into your apps and websites.
Alexa for Apps works even if your customer doesn't have your app installed yet. In that case, you can redirect them to the iOS App Store, the Google Play Store, or your website.
Alexa for Apps is available in all locales.
Alexa for Apps is supported only for Alexa custom skills. It can't be used with skills that use pre-built interaction models, such as Smart Home, music, or video skills.
Alexa for Apps supported deep link types
With Alexa for Apps, your Alexa custom skill can use a managed skill connection request to send a deep link to your app or website. The request contains the following pieces of information:
- The deep link itself
- An optional voice response that plays before the deep link is fired
- The app identifier for your app
- Optional information about how to handle fallback cases, such as when your app isn't installed
Alexa for Apps supports the following types of deep links:
- Universal link – for example:
- Custom scheme – for example:
- Android intent – for example:
- Android Package Manager app launch – for example:
A universal link has the advantage of being seamlessly handled by your website when your app isn't installed on the user's device. Fallbacks for universal links default to your app's website. You cannot specify a fallback to the Apple App Store or Google Play Store for this type of deep link.
A custom scheme is a link to functionality within your app. Typically, you'll provide a fallback URI to the Apple App Store or Google Play Store. However, you can instead provide a website fallback URI, if you want to fulfill the user's request even when your app isn't installed.
Alexa for Apps supports both common intents and app-specific Android intents. Note that common intents may be picked up by an app other than the one you intended, based on user preference. To handle that case, you can specify a fallback to the Google Play Store or to a website.
Android Package Manager app launch
Sometimes you may want to simply launch an app, for example, to open a game or a news feed. In that case, just include the
catalogIdentifier for an Android app launch using the Package Manager. You can specify a fallback to the Google Play Store, or to a website. (For iOS, you can use a custom scheme or universal link to open a specific page in your app.)
How Alexa for Apps works
The following diagram illustrates how Alexa for Apps in a typical use case.
- An Alexa mobile user says, "Alexa, ask City Guide to search for coffee."
- The mobile device sends the request to the City Guide skill. The City Guide skill checks the request payload and sees that the user's device supports Alexa for Apps (indicated by the
AppLinkfield), and that it comes from an iOS device.
- If the City Guide skill decides to send the customer to the City Guide app, it uses a managed skill connection request to send an iOS deep link to the Alexa for Apps skill. (For example, the City Guide skill might translate the user request to a Universal Link of: https://www.cityguide.com/search?search_terms=coffee.)
- The Alexa for Apps provider skill passes the deep link request to the Alexa app.
- The Alexa app uses the universal link to open the City Guide app and takes the user to the search results for coffee.
- The City Guide app displays the search results.
- The Alexa for Apps provider skill tells the City Guide skill whether the deep link request is successful. If the request isn't successful, Alexa simply transfers control back to the City Guide skill.
Enabling deep links in your app
If you already have deep links enabled in your mobile app, you can use Alexa for Apps to call those existing deep links. If you're new to deeplinks and want to add them to your mobile application, see the following resources.
- To enable Universal Links, follow the instructions from Apple at Enabling Universal Links.
- To enable a custom URI scheme on iOS, follow the instructions from Apple at Defining a Custom URL Scheme for Your App.
- To enable Android App Links, follow the instructions from Android at Handling Android App Links.