Alexa for Appsとは
Alexa for Appsを使うと、ユーザーは音声を使ってアプリやウェブサイトのコンテンツや機能にアクセスできます。
Alexa for Appsのモバイルエクスペリエンスを使うと、ユーザーはAlexaアプリで音声を使用してiOSやAndroidのアプリやウェブサイトにアクセスできるようになります。
Alexa for Appsでは、Send to Phone機能(スキルからスマートフォンへの引き継ぎ)などのAlexa for Appsの非モバイルエクスペリエンスも導入されています。 この機能では、ユーザーがAlexa搭載デバイス(Amazon Echoなど)を使ってモバイルアプリやウェブサイトにアクセスできます。
Alexa for Appsでは、1つのAlexaスキルでiOS、Androidどちらのアプリにもディープリンクできます。既存のディープリンクがある場合は、それらをそのままスキル内で使用できます。アプリを変更する必要はありません。
Alexa for Appsの機能と制限事項
Alexa for AppsによってiOSアプリ、Androidアプリ、ウェブサイトのコンテンツや機能とユーザーを接続できます。ユーザーがAlexa搭載デバイスでスキルを呼び出すと、アプリのリンクをスマートフォンのプッシュ通知とカードに送信できます。ユーザーがモバイルデバイスでスキルを呼び出すと、そのデバイスでアプリやウェブサイトを直接開くことができます。
Alexa for Appsは、ユーザーがアプリをインストールしていなくてもアプリにディープリンクできます。その場合は、ユーザーをiOS App Store、Google Playストア、ウェブサイトにリダイレクトできます。
Alexa for Appsがサポートされているのは、Alexaカスタムスキルのみです。スマートホームスキル、音楽スキル、ビデオスキルなどのプリビルドの対話モデルを使うスキルでは、Alexa for Appsを利用できません。
Alexa for Appsのしくみ
スキルがAlexa for Appsリクエストを行う際、ユーザーのエクスペリエンスは使用しているデバイスに応じて、モバイル、非モバイルのいずれかになります。Alexa搭載のモバイルデバイスやAlexaアプリを使用している場合、Alexaはスマートフォンでアプリを起動し、ディープリンク先のコンテンツにユーザーをリダイレクトします。Amazon EchoなどAlexa搭載の非モバイルデバイスを使用している場合、Alexaはユーザーのスマートフォンにプッシュ通知としてディープリンクを送信します。ユーザーが通知をタップすると、リンク先のアプリやウェブサイトが開きます。
Alexa for Appsのモバイルエクスペリエンス(直接起動)
ユーザーがAlexa搭載スマートフォン、Alexaモバイルアクセサリ(Echo Budsなど)、Alexaアプリのいずれかでスキルを呼び出すと、スキルはAlexa for Appsを使ってユーザーのスマートフォンで直接アプリやウェブサイトを起動します。以下の図は、シティガイドカスタムスキルのモバイルリクエストフローを表しています。
- AlexaアプリユーザーがiPhoneやAndroidのスマートフォンで「アレクサ、シティガイドでコーヒーの飲めるところを教えて」とたずねます。
- Alexaアプリが、シティガイドスキルにリクエストを送信します。スキルは、リクエストペイロードの
AppLink
オブジェクトにdirectLaunch
フィールドが存在するかどうかをチェックします。このフィールドが存在していれば、デバイスがAlexa for Appsモバイルエクスペリエンスをサポートし、ユーザーのスマートフォンでアプリやウェブサイトを直接起動できることを表しています。 - シティガイドスキルは、ユーザーをシティガイドアプリにリダイレクトすることを決定します。スキルはManaged Skill Connectionsリクエストを使用して、iOSまたはAndroidのディープリンクをAlexa for Appsスキルに送信します。リンクに加えて、必須のトピックやその他のカスタムフィールドも送信します。トピックは、「検索結果を表示する」など、ユーザーがディープリンクの内容を知るためのプロンプトです。 iPhoneでは、シティガイドスキルは
https://www.cityguide.com/search?search_terms=coffee
というユニバーサルリンクを送信するようリクエストできます。Skill Connectionsリクエストの詳細については、 Alexa for Apps V2 Skill Connectionsリクエストのリファレンスを参照してください。 - Alexa for Appsプロバイダースキルは、このディープリンクリクエストをAlexaアプリに渡します。
- Alexaアプリは、ユニバーサルリンクを使ってシティガイドスキルを開き、ユーザーをコーヒーの飲める場所の検索結果にリダイレクトします。
- シティガイドアプリが検索結果を表示します。
- Alexa for Appsプロバイダースキルがシティガイドスキルに、ディープリンクリクエストが成功したかどうかを知らせます。リクエストが成功しなかった場合、Alexaはシティガイドスキルに制御を戻します。
Alexa for Appsの非モバイルエクスペリエンス(Send to Phone機能)
ユーザーが非モバイルのAlexa搭載デバイスでスキルを呼び出すと、スキルはAlexa for AppsのSend to Phone(S2P)機能を使用します。Send to Phone機能では、Alexa for Appsはプッシュ通知を使ってユーザーのスマートフォンにリンクを送信します。また、Alexaは、ユーザーのAlexaアプリのホームページにカードも送信します。ユーザーはAndroidまたはiOSのスマートフォンのAlexaアプリで通知を受け取ります。次の図は、非モバイルデバイスからのレシピスキルリクエストフローです。
- Amazon Echoデバイスのユーザーが「アレクサ、マイレシピでラザニアのレシピを探して」とリクエストします。
- Echoデバイスはリクエストをマイレシピスキルに送信します。スキルは、リクエストペイロードの
context.AppLink
オブジェクトにsendToDevice
フィールドが存在するかどうかをチェックします。このフィールドが存在していれば、デバイスはAlexa for Appsの非モバイルエクスペリエンスをサポートしており、Managed Skill Connectionsリクエストを使ってユーザーのスマートフォンにリンクを送信できます。Alexa for Appsスキルへのリクエストで、マイレシピスキルはiOS、Androidのディープリンクのいずれか、または両方(スキルに両方のリンクがある場合)を送信します。スキルは、各リンクと一緒に、トピックとカスタムフィールドも送信します。トピックは、「ラザニアのレシピを表示する」など、ユーザーがディープリンクの内容を知るためのプロンプトです。 この例では、ユーザーはiPhoneを持っており、マイレシピスキルはhttps://www.recipesamzn.com/search?search_terms=lasagna
のユニバーサルリンクを送信します。Skill Connectionsリクエストの詳細については、Alexa for Apps Skill Connectionsリクエストのリファレンスを参照してください。 - Alexa for Appsは、通知の受信者とユーザーを確認します。
- Alexa for AppsはユーザーのスマートフォンにインストールされたAlexaアプリに、プッシュ通知と適切なディープリンクをホームカードの形式で送信します。
- Alexa for Appsは、マイレシピスキルに通知が正常に送信されたかどうかを伝え、制御をマイレシピスキルに戻します。
- 通知を見たユーザーはタップしてマイレシピアプリの検索結果を確認します。
- マイレシピアプリに検索結果が表示されます。
Alexa for Appsでサポートされるディープリンクの種類
Alexa for Appsでは、スキルはManaged Skill Connectionsリクエストを使ってアプリやウェブサイトのディープリンクを送信します。リクエストには、以下の情報が含まれます。
- 必須のプライマリディープリンク。ユーザーはこのリンクを使ってモバイルアプリやウェブサイトのコンテンツや機能に接続します。
- オプションのディープリンク。ユーザーがアプリをインストールしていない場合など、フォールバックケースを処理します。フォールバックディープリンクには以下のいずれかを指定できます。
- ユーザーがアプリをインストールしていない場合でもユーザーのリクエストを実行するウェブサイトリンク
- ユーザーがアプリをダウンロードできるApple App StoreやGoogle PlayストアのURI
- コールトゥーアクションの動詞句で記載した必須のトピックフィールド。たとえば、「ラザニアのレシピを見る」、「搭乗券を入手する」、「メッセージを見る」などです。
Alexa for Appsを呼び出すスキル応答の一部として、音声プロンプトを含めることもできます。Alexaは、Send to Phone機能に関連した読み上げテキスト(TTS)の前にこのプロンプトを読み上げて、正しい受信者を判断します。このプロンプトは、たとえば、「ロサンゼルス国際空港からマドリッドまでのフライトは定刻通りです」のように、最初の情報を音声で伝える場合に使用します。
Alexa for Appsは、以下の種類のディープリンクをサポートします: ユニバーサルリンク、カスタムスキーム、共通スキーム、Androidカスタムインテント、Android共通インテント、Android Package Managerアプリ起動、ウェブサイトリンク。
ユニバーサルリンク
ユニバーサルリンクは、HTTPまたはHTTPSのURLです。ユーザーはこのリンクをアプリが利用できる場合はモバイルアプリで、アプリがスマートフォンにインストールされていない場合はウェブブラウザで開くことができます。
カスタムスキーム
カスタムスキームは、アプリの機能へのリンクです。パッケージ名またはアプリIDも指定する必要があります。
共通スキーム
共通URIスキームは、通常システムレベルの機能を実行する種類のURIとしてよく知られています。ターゲットアプリを指定する必要はありません。Alexa for Appsでは、次の共通URIスキームを使用できます。"tel:<phone number>"
(電話番号の場合)、"maps:q=<physical location>"
(iOSマップの場合)、"geo:<physical location>"
(Androidマップの場合)。
Androidカスタムインテント
Androidカスタムインテントは、アプリ固有のAndroidインテントです。ユーザーが特定のアプリにのみ接続されるよう、カスタムインテントにパッケージ名を指定する必要があります。
Android共通インテント
Android共通インテントはアプリが別のアプリから共通のアクションを実行する際に使用できるAndroidインテントのセットです。ターゲットアプリを指定する必要はありません。Alexa for Appsでは、次のAndroid共通インテントを使用できます: SHOW_IN_MAP
、ADD_CALENDAR_EVENT
、PLAY_MEDIA
、START_PHONE_CALL
、OPEN_SETTINGS
。
Android Package Managerアプリ起動
ゲームやニュースフィードを開くなど、単にアプリを起動したいだけの場合があります。Androidアプリを起動するには、Android Package Managerを使用してパッケージ名を追加します。
ウェブサイトリンク
スキルに関連のアプリがない場合やアプリを起動したくない場合、スキルはブラウザでウェブサイトリンクを起動できます。ウェブドメインは、Alexaのコンテンツポリシーに従う必要があります。
アプリでディープリンクを有効にする
モバイルアプリで既にディープリンクが有効な場合は、Alexa for Appsを使って既存のディープリンクを呼び出すことができます。ディープリンクを初めてアプリに追加する場合は、以下のリソースを参照してください。
- ユニバーサルリンクを有効にする方法については、Appleによるユニバーサルリンクの説明を参照してください。
- iOSでカスタムURIスキームを有効にする方法については、AppleによるDefining a Custom URL Scheme for Your Appの手順を参照してください。
- Androidアプリリンクを有効にする方法については、Androidアプリリンクの処理の説明を参照してください。
開発を始める
Alexa for Appsは、以下の方法でスキルに追加できます。
- コマンドラインから追加する – Alexa Skills Kitコマンドラインインターフェース(ASK CLI)を使って、アプリやウェブサイトで使用する基本のAlexa音声コマンドを作成できます。詳しくは、Use the Command Line to Link a Custom Skill to a Website or Appを参照してください。
関連トピック
- Alexa for Appsをカスタムスキルに追加する
- Alexa for Appsスキルマニフェストのリファレンス
- Alexa for Apps Skill Connectionsリクエストのリファレンス
- カスタムスキルとは
- Skill Connectionsとは
最終更新日: 2024 年 05 月 08 日