Alexa for Appsとは
Alexa for Appsを使うと、ユーザーは音声を使ってアプリやウェブサイトのコンテンツや機能にアクセスできます。ユーザーは、AlexaモバイルアクセサリやAlexa搭載スマートフォンなどのモバイルデバイスで、またはAlexaアプリから直接コンテンツや機能にアクセスできます。1つのAlexaスキルで、iOSアプリ、Androidアプリの両方にディープリンクを設定できます。既にディープリンクがある場合は、アプリ側の変更は不要です。
事例、対話モデル、ユーザーエクスペリエンスの概要について詳しくは、Alexa for Appsデザインガイドを参照してください。
Alexa for Appsの機能と制限事項
Alexa for AppsによってAlexaアプリへのリンクが追加されます。ユーザーはこのリンクを使って、iOSアプリ、Androidアプリ、ウェブサイトのコンテンツや機能に接続できます。Alexaスキルの開発者は、カスタムスキルでAlexaアプリリンクインターフェースを使い、モバイルデバイスユーザーをアプリやウェブサイトにリダイレクトできます。
Alexa for Appsは、ユーザーがリンク先のアプリをインストールしていなくても機能します。その場合は、ユーザーをiOS App Store、Google Playストア、ウェブサイトにリダイレクトできます。
Alexa for Appsは、すべてのロケールで利用可能です。
Alexa for Appsがサポートされているのは、Alexaカスタムスキルのみです。スマートホームスキル、音楽スキル、ビデオスキルなどのプリビルドの対話モデルを使うスキルでは、Alexa for Appsを利用できません。
Alexa for Appsでサポートされるディープリンクの種類
Alexa for Appsでは、AlexaカスタムスキルはManaged Skill Connectionsリクエストを使ってディープリンクをアプリやウェブサイトに送信できます。リクエストには、以下の情報が含まれます。
- ディープリンク
- ディープリンクが送信される前に再生する音声応答(任意)
- アプリID
- アプリがインストールされていない場合など、フォールバックケースを処理する方法に関する任意の情報
Alexa for Appsは、以下の種類のディープリンクをサポートします。
- ユニバーサルリンク – 例:
https://www.cityguide.com/search?topic=coffee
- カスタムスキーム – 例:
ctgd://search?topic=coffee
- Androidインテント – 例:
intent:#Intent;action=com.cityguide.android.ctgdmobile.actions.SEARCH_ACTION;package=com.cityguide.android.ctgdmobile;S.query=coffee;end;
- Android Package Managerアプリ起動 – 例:
com.cityguide.android.ctgdmobile
ユニバーサルリンク
ユーザーがデバイスにアプリをインストールしていない場合、ウェブサイトはユニバーサルリンクをシームレスに処理できます。ユニバーサルリンクのフォールバックのデフォルトは、アプリのウェブサイトです。この種類のディープリンクでは、Apple App StoreやGoogle Playストアへのフォールバックを指定できません。
カスタムスキーム
カスタムスキームは、アプリの機能へのリンクです。通常は、Apple App StoreやGoogle PlayストアへのフォールバックURIを指定します。ただし、ユーザーがアプリをインストールしていなくてもユーザーのリクエストを実行したい場合は、ウェブサイトのフォールバックURIを代わりに指定することもできます。
Androidインテント
Alexa for Appsは、共通インテントとアプリ固有のAndroidインテントの両方をサポートします。ユーザーの設定によっては、意図したものではないアプリが共通インテントを処理する場合があります。このようなケースに対応するため、Google Playストアやウェブサイトへのフォールバックを指定できます。
Android Package Managerアプリ起動
ゲームやニュースフィードを開くなど、単にアプリを起動したいだけの場合があります。このような場合、Package Managerを使ってAndroidアプリ起動のcatalogIdentifier
を追加します。Google Playストアやウェブサイトへのフォールバックを指定できます(iOSの場合は、カスタムスキームやユニバーサルリンクを使ってアプリ内の特定のページを開くことができます)。
Alexa for Appsのしくみ
以下は、モバイルアプリでさまざまな都市のアトラクションや見どころを案内するという事例での、Alexa for Appsのしくみを図解したものです。

- Alexaモバイルユーザーが「アレクサ、シティガイドでコーヒーの飲めるところを教えて」とたずねます。
- モバイルデバイスが、シティガイドスキルにリクエストを送信します。シティガイドスキルがリクエストのペイロードをチェックしてユーザーのデバイスがAlexa for Appsをサポートすること(
AppLink
フィールド)、iOSデバイスからのリクエストであることを確認します。 - シティガイドスキルが、ユーザーをシティガイドアプリに送ることを決定したら、シティガイドスキルはManaged Skill Connectionsリクエストを使ってiOSディープリンクをAlexa for Appsスキルに送信します(たとえば、シティガイドスキルはユーザーリクエストをhttps://www.cityguide.com/search?search_terms=coffeeというユニバーサルリンクに変換します)。
- Alexa for Appsプロバイダースキルは、このディープリンクリクエストをAlexaアプリに渡します。
- Alexaアプリは、ユニバーサルリンクを使ってシティガイドスキルを開き、ユーザーをコーヒーの飲める場所の検索結果にリダイレクトします。
- シティガイドアプリが検索結果を表示します。
- Alexa for Appsプロバイダースキルがシティガイドスキルに、ディープリンクリクエストが成功したかどうかを知らせます。リクエストが成功しなかった場合、Alexaはそのままシティガイドスキルに制御を戻します。
アプリでディープリンクを有効にする
モバイルアプリで既にディープリンクが有効な場合は、Alexa for Appsを使って既存のディープリンクを呼び出すことができます。ディープリンクを有効にしてモバイルアプリに追加する場合は、以下のリソースを参照してください。
- ユニバーサルリンクを有効にする方法については、AppleによるUniversal Links for Developersの手順を参照してください。
- iOSでカスタムURIスキームを有効にする方法については、AppleによるDefining a Custom URL Scheme for Your Appの手順を参照してください。
- Androidアプリリンクを有効にする方法については、Androidアプリリンクの処理の説明を参照してください。