Alexa for Appsとは



Alexa for Appsとは

Alexa for Appsを使うと、ユーザーは音声を使ってアプリやウェブサイトのコンテンツや機能にアクセスできます。

Alexa for Appsのモバイルエクスペリエンスを使うと、ユーザーはAlexaモバイルアクセサリAlexa搭載スマートフォン、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 for Appsのモバイルエクスペリエンス
Alexa for Appsのモバイルエクスペリエンス
  1. AlexaアプリユーザーがiPhoneやAndroidのスマートフォンで「アレクサ、シティガイドでコーヒーの飲めるところを教えて」とたずねます。
  2. Alexaアプリが、シティガイドスキルにリクエストを送信します。スキルは、リクエストペイロードのAppLinkオブジェクトにdirectLaunchフィールドが存在するかどうかをチェックします。このフィールドが存在していれば、デバイスがAlexa for Appsモバイルエクスペリエンスをサポートし、ユーザーのスマートフォンでアプリやウェブサイトを直接起動できることを表しています。
  3. シティガイドスキルは、ユーザーをシティガイドアプリにリダイレクトすることを決定します。スキルは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リクエストのリファレンスを参照してください。
  4. Alexa for Appsプロバイダースキルは、このディープリンクリクエストをAlexaアプリに渡します。
  5. Alexaアプリは、ユニバーサルリンクを使ってシティガイドスキルを開き、ユーザーをコーヒーの飲める場所の検索結果にリダイレクトします。
  6. シティガイドアプリが検索結果を表示します。
  7. 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アプリで通知を受け取ります。次の図は、非モバイルデバイスからのレシピスキルリクエストフローです。

Alexa for Appsの非モバイルエクスペリエンス
Alexa for Appsの非モバイルエクスペリエンス
  1. Amazon Echoデバイスのユーザーが「アレクサ、マイレシピでラザニアのレシピを探して」とたずねます。
  2. 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 V2 Skill Connectionsリクエストのリファレンスを参照してください。
  3. Alexa for Appsは、通知の受信者とユーザーを確認します。
  4. Alexa for AppsはユーザーのスマートフォンにインストールされたAlexaアプリに、プッシュ通知と適切なディープリンクをホームカードの形式で送信します。
  5. Alexa for Appsは、マイレシピスキルに通知が正常に送信されたかどうかを伝え、制御をマイレシピスキルに戻します。
  6. 通知を見たユーザーはタップしてマイレシピアプリの検索結果を確認します。
  7. マイレシピアプリに検索結果が表示されます。

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:<電話番号>"(電話番号の場合)、"maps:q=<physical location>"(iOSマップの場合)、"geo:<physical location>"(Androidマップの場合)。

Androidカスタムインテント

Androidカスタムインテントは、アプリ固有のAndroidインテントです。ユーザーが特定のアプリにのみ接続されるよう、カスタムインテントにパッケージ名を指定する必要があります。

Android共通インテント

Android共通インテントはアプリが別のアプリから共通のアクションを実行する際に使用できるAndroidインテントのセットです。ターゲットアプリを指定する必要はありません。Alexa for Appsでは、次のAndroid共通インテントを使用できます: SHOW_IN_MAPADD_CALENDAR_EVENTPLAY_MEDIASTART_PHONE_CALLOPEN_SETTINGS

Android Package Managerアプリ起動

ゲームやニュースフィードを開くなど、単にアプリを起動したいだけの場合があります。Androidアプリを起動するには、Android Package Managerを使用してパッケージ名を追加します。

スキルに関連のアプリがない場合やアプリを起動したくない場合、スキルはブラウザでウェブサイトリンクを起動できます。ウェブドメインは、Alexaのコンテンツポリシーに従う必要があります。

モバイルアプリで既にディープリンクが有効な場合は、Alexa for Appsを使って既存のディープリンクを呼び出すことができます。ディープリンクを初めてアプリに追加する場合は、以下のリソースを参照してください。