Alexaスキルにおけるユーザーのアカウントリンク体験
Alexaスキルにおけるユーザーのアカウントリンク体験
このトピックでは、ユーザーから見た一般的なアカウントリンクエクスペリエンスと、その背後で何が起こっているかについて紹介します。例として、ユーザーが配車を依頼する「タクシー予約」という架空のカスタムスキルを使います。
アカウントリンクの概念については、Alexaスキルにおけるアカウントリンクの構成要素 を参照してください。
ユーザーがスキルにアカウントリンクが必要かどうかを確認する方法
ユーザーのリクエストを実行するためにアカウントをリンクする必要があるスキルの場合、Alexaアプリの有効にして使用する ボタンまたは開始 ボタンの下に、アカウントのリンクが必要です と表示されます。アカウントリンクが任意のスキルの場合、有効にして使用する ボタンまたは開始 ボタンの下に、アカウントリンク可能 と表示されます。任意設定では、ユーザーはスキルを有効にして、認証が不要な機能を利用できます。
以下の画像は、アカウントリンクの要件が表示されたAlexaアプリのスキル詳細ページを示しています。
ユーザーのアカウントリンクエクスペリエンスに影響する要素
ユーザーのアカウントリンクエクスペリエンスは、以下の複合的な要素によって変わります。
ユーザーがどこでアカウントリンクプロセスを開始するか – 開始点は、Alexaアプリ(スキル詳細ページからスキルを有効にしたり開始したりするなど)、独自サービスのアプリ(この例ではタクシー予約)、画面付きAlexa搭載デバイスでユーザーがアカウントリンクの必要なリクエストを行ったときの画面、ユーザーがスキルにアカウントリンクの必要なリクエストを行い、スキルに音声によるアカウントリンク が実装されている場合の音声などが考えられます。
アプリがアプリ間アカウントリンク(Alexaアプリから開始する場合) をサポートしているかどうか – このフローでは、ユーザーがAlexaアプリからプロセスを開始します。Alexaアプリはユーザーをアプリに送るか、アプリがインストールされていない場合はアプリ内ブラウザタブでユーザーがサービスの認証情報を入力する認証画面のURIを開きます。ユーザーがそこでアカウントリンクリクエストに同意すると、Alexaアプリに戻ってアカウントリンクを完了します。
アプリがアプリ間アカウントリンク(アプリから開始する場合) をサポートしているかどうか – このフローでは、ユーザーがアプリからプロセスを開始し、ユーザーをAlexaアプリに送ります。ユーザーは、Alexaアプリでアカウントリンクリクエストに同意します。Alexaアプリは、ユーザーをアプリにリダイレクトし、スキルを有効にして、Alexaが提供するアカウントリンクAPIを呼び出すことでアカウントリンクを完了します。ユーザーがAlexaアプリをインストールしていない場合、このフローは、ユーザーがAmazon認証情報を入力するLogin with Amazon (LWA)フローにフォールバックします。
アカウントリンクフローの例
アカウントリンクのフローは、ユーザーの開始点によって異なります。開始点ごとに、以下の例を確認してください。
ユーザーは、Alexaスキルストア のスキル詳細ページから直接スキルを有効にしてリンクすることもできます。
Alexaアプリから開始する場合
以下の例は、ユーザーが、スキルを有効にする際、スキルの設定から、スキルカードから、プッシュ通知からなど、Alexaアプリ内のどこかからアカウントリンクのリンクをタップした場合のアカウントリンクフローを紹介します。
スキル詳細ページからスキルを有効にするか、開始する場合(アプリ間アカウントリンクを使用)
以下のフローでは、ユーザーがAlexaアプリでスキルを有効にするときにアカウントリンクを開始します。ユーザーはデバイスにアプリをインストール済みで、スキルはアプリ間アカウントリンク(Alexaアプリから開始) を実装しています。このため、デバイスはアプリを起動して、ユーザーにアカウントリンクリクエストへの同意を求めます。ユーザーがアプリ内でリクエストを認可したら、ユーザーはAlexaアプリにリダイレクトされ、アカウントはリンクされます。
アカウントリンクフロー
外観
ユーザーエクスペリエンス
バックグラウンドでの処理
Alexaアプリ
ユーザーは、スキルの詳細ページから有効にして使用する または開始 を選択してアカウントリンクプロセスを開始します。
Alexaアプリはアプリを開き、アプリ間アカウントリンク(Alexaアプリから開始)を設定 したときに定義したauthorizationUrlsByPlatform
を使用してアプリに認可リクエストを行います。
タクシー予約アプリ
タクシー予約アプリ内に同意画面を表示し、アカウントリンクのリクエストに同意するか拒否するかをユーザーに確認します。ユーザーは、リクエストを認可し、タクシー予約の利用規約に同意します。
ユーザーがログインしてすべての利用規約に同意したら、タクシー予約の認可サーバーは認可コード を生成してAlexaに返します。この認可コードにより、Alexaはアクセストークンをリクエストします。アクセストークンは、Alexaがユーザーのタクシー予約データにアクセスするのに必要なものです。
Alexaアプリ
ユーザーがAlexaアプリに戻ると、ログイン成功画面が表示されます。
タクシー予約の認可サーバーはユーザーをAlexaのリダイレクト先のURL し、クエリ文字列に認可コードをセットして渡します。 Alexaは、次にタクシー予約のアクセストークンURIを開いてアクセストークン を取得し、これによりアカウントリンクプロセスが完了します。
—
ユーザーが「アレクサ、タクシー予約を開いて配車を依頼して」 と言います。
AlexaはスキルにLaunchRequest
リクエストを送信し、リクエストにアクセストークンを含めます。
スキルはリクエストからアクセストークンを抽出 し、アクセストークンを検証 し、タクシー予約のリソースサーバーの呼び出しでアクセストークンを使用します。ユーザーデータはこのリソースサーバーに含まれます。
スキル詳細ページからスキルを有効にするか、開始する場合(アプリ間アカウントリンクを使用しない)
以下のフローでは、ユーザーがAlexaアプリでスキルを有効にするときにアカウントリンクを開始します。スキルがアプリ間アカウントリンク(Alexaアプリから開始) を実装していないか、ユーザーがデバイスにアプリをインストールしていないため、ユーザーは認証画面のURIで認証情報を入力することにより、Alexaアプリ内でアカウントリンクプロセスを完了します。
アカウントリンクフロー
外観
ユーザーエクスペリエンス
バックグラウンドでの処理
Alexaアプリ
ユーザーは、スキルの詳細ページから有効にして使用する または開始 を選択してアカウントリンクプロセスを開始します。
Alexaアプリはスキルの認証画面のURI を開きます。
Alexaアプリ内のタクシー予約アプリのログインページ
ユーザーは表示されたタクシー予約ログインページから、タクシー予約認証情報でログインします。
Alexaが認証画面のURIを使ってアクセスしたタクシー予約の認可サーバー が、Alexaアプリ内にログインページを表示します。このページがユーザーのタクシー予約認証情報を受け取ります。
Alexaアプリ内のタクシー予約の認可ページ
ユーザーは、タクシー予約の利用規約を確認し、同意します。
ユーザーがログインしてすべての利用規約に同意したら、タクシー予約の認可サーバーは認可コード を生成してAlexaに返します。この認可コードにより、Alexaはアクセストークンをリクエストします。アクセストークンは、Alexaがユーザーのタクシー予約データにアクセスするのに必要なものです。
Alexaアプリ
ユーザーがAlexaアプリに戻ると、ログイン成功画面が表示されます。
タクシー予約の認可サーバーはユーザーをAlexaのリダイレクト先のURLにリダイレクトし、クエリ文字列に認可コードをセットして渡します。 Alexaは、次にタクシー予約のアクセストークンURIを開いてアクセストークン を取得し、これによりアカウントリンクプロセスが完了します。
—
ユーザーが「アレクサ、タクシー予約を開いて配車を依頼して」 と言います。
AlexaはスキルにLaunchRequest
リクエストを送信し、リクエストにアクセストークンを含めます。
スキルはリクエストからアクセストークンを抽出 し、アクセストークンを検証 し、タクシー予約のリソースサーバーの呼び出しでアクセストークンを使用します。ユーザーデータはこのリソースサーバーに含まれます。
スキルを有効にした後にスキルの設定から開始する場合
ユーザーがアカウントリンクをサポートするカスタムスキルや音楽スキルを有効にすると、Alexaアプリのスキル詳細ページに設定 ボタンが表示されます。ユーザーはいつでもこのボタンにアクセスできます。たとえば、ユーザーが音声でスキルを有効にした場合や、スキルを有効にする際にアカウントリンクフローをキャンセルした場合、ユーザーはこのボタンを使ってアカウントをリンクできます。以下は、ユーザーが設定 ボタンを選択したときに始まるアカウントリンクフローの例です。
注: 以下は、スキルが
アプリ間アカウントリンク(Alexaアプリから開始) を実装していて、ユーザーがデバイスにアプリをインストール済みである場合の例です。上記のいずれにも当てはまらない場合、ユーザーは、アカウントをリンクするために認証画面のURIで認証情報を入力する必要もあります。
アカウントリンクフロー
外観
ユーザーエクスペリエンス
バックグラウンドでの処理
スキル詳細ページ
ユーザーがAlexaアプリのスキル詳細ページに移動し、設定 を選択します。
Alexaアプリが、スキルの設定を取得します。
スキル設定ページ
ユーザーがアカウントをリンク を選択します。
Alexaアプリはアプリを開き、アプリ間アカウントリンク(Alexaアプリから開始)を設定 したときに定義したauthorizationUrlsByPlatform
を使用してアプリに認可リクエストを行います。
タクシー予約アプリ
タクシー予約アプリ内に同意画面を表示し、アカウントリンクのリクエストに同意するか拒否するかをユーザーに確認します。ユーザーは、リクエストを認可し、タクシー予約の利用規約に同意します。
ユーザーが認可を行い、すべての利用規約に同意したら、タクシー予約の認可サーバー は認可コード を生成してAlexaに返します。この認可コードにより、Alexaはアクセストークンをリクエストします。アクセストークンは、Alexaがユーザーのタクシー予約データにアクセスするのに必要なものです。
Alexaアプリ
ユーザーがAlexaアプリに戻ると、ログイン成功画面が表示されます。
タクシー予約の認可サーバーはユーザーをAlexaのリダイレクト先のURL にリダイレクトし、クエリ文字列に認可コードをセットして渡します。Alexaは、次にタクシー予約のアクセストークンURIを開いてアクセストークン を取得し、これによりアカウントリンクプロセスが完了します。
—
ユーザーが「アレクサ、タクシー予約を開いて配車を依頼して」 と言います。
AlexaはスキルにLaunchRequest
リクエストを送信し、リクエストにアクセストークンを含めます。
スキルはリクエストからアクセストークンを抽出 し、アクセストークンを検証 し、タクシー予約のリソースサーバーの呼び出しでアクセストークンを使用します。ユーザーデータはこのリソースサーバーに含まれます。
スキルカードから開始する場合
以下のフローでは、ユーザーが認証の必要な機能を使おうとしたときにスキルがAlexaアプリに送信するアカウントリンクカード を使って、アカウントリンクを開始しています。
注: 以下は、スキルが
アプリ間アカウントリンク(Alexaアプリから開始) を実装していて、ユーザーがデバイスにアプリをインストール済みである場合の例です。上記のいずれにも当てはまらない場合、ユーザーは、アカウントをリンクするために認証画面のURIで認証情報を入力する必要もあります。
アカウントリンクフロー
外観
ユーザーエクスペリエンス
バックグラウンドでの処理
—
ユーザーが「アレクサ、タクシー予約を有効にして」 と言います。
AlexaがスキルにLaunchRequest
リクエストを送信します。リクエストにはアクセストークン が含まれていません。
—
Alexaが(スキル経由で)「タクシー予約へようこそ! この機能を利用するには、Amazonアカウントとタクシー予約アカウントをリンクする必要があります。Alexaアプリに手順を送りましたので確認してください」 と言います。
スキルはリクエストからアクセストークンを抽出 しようとしますが、何もありません。スキルがAlexaに応答する際、その応答には読み上げテキストとアカウントリンクカードが含まれます。
Alexaアプリのスキルカード
Alexaがアカウントリンクカードを表示し、ユーザーがタクシー予約アカウントをリンク を選択します。
Alexaアプリはアプリを開き、アプリ間アカウントリンク(Alexaアプリから開始)を設定 したときに定義したauthorizationUrlsByPlatform
を使用してアプリに認可リクエストを行います。
タクシー予約アプリ
タクシー予約アプリ内に同意画面を表示し、アカウントリンクのリクエストに同意するか拒否するかをユーザーに確認します。ユーザーは、リクエストを認可し、タクシー予約の利用規約に同意します。
ユーザーが認可を行い、すべての利用規約に同意したら、タクシー予約の認可サーバーは認可コード を生成してAlexaに返します。この認可コードにより、Alexaはアクセストークンをリクエストします。アクセストークンは、Alexaがユーザーのタクシー予約データにアクセスするのに必要なものです。
Alexaアプリ
ユーザーがAlexaアプリに戻ると、ログイン成功画面が表示されます。
タクシー予約アプリはユーザーをAlexaアプリのリダイレクト先のURL にリダイレクトし、クエリ文字列に認可コードをセットして渡します。Alexaは、次にタクシー予約のアクセストークンURI を開いてアクセストークン を取得し、これによりアカウントリンクプロセスが完了します。
—
ユーザーが「アレクサ、タクシー予約を開いて配車を依頼して」 と言います。
AlexaはスキルにLaunchRequest
リクエストを送信し、リクエストにアクセストークンを含めます。
スキルはリクエストからアクセストークンを抽出 し、アクセストークンを検証 し、タクシー予約のリソースサーバーの呼び出しでアクセストークンを使用します。ユーザーデータはこのリソースサーバーに含まれます。
以下のタブでは、さまざまな言語でAlexaが出すプロンプトを紹介します。
Welcome to {Skill_name}! Om deze functionaliteit te bereiken, moet je je Amazon en {Skill_name} accounts koppelen.Bekijk de instructies die ik naar de Alexa app heb gestuurd.
Welcome to {Skill_name}! To reach this functionality, you will need to link your Amazon and {Skill_name} accounts.Check out the instructions I sent to the Alexa app.
Bienvenue sur {Skill_name}! Pour accéder à cette fonctionnalité, vous devrez lier vos comptes Amazon et {Skill_name}.Veuillez consulter les instructions que j'ai envoyées à l'application Alexa.
Willkommen bei {Skill_name}! Um diese Funktion nutzen zu können, müssen dein Amazon-Konto und {Skill_name} Konto verknüpft sein.Sehe dir die Anweisungen an, die ich an die Alexa-App geschickt habe.
{Skill_name} में आपका स्वागत है! इस कार्यक्षमता तक पहुँचने के लिए, आपको अपने Amazon और {Skill_name} खातों को जोड़ना होगा। मेरे द्वारा Alexa ऐप को भेजे गए निर्देशों को देखें।
Benvenuto in {Skill_name}! Per accedere a questa funzionalità, dovrai collegare i tuoi account Amazon e {Skill_name}.Controlla le istruzioni che ho inviato all'app Alexa.
{Skill_name}へようこそ! この機能を利用するには、Amazonアカウントと{Skill_name}アカウントをリンクする必要があります。Alexaアプリに送った手順を確認してください。
Bem-vindo à {Skill_name}! Para acessar esta funcionalidade, você precisará vincular suas contas Amazon e {Skill_name}.Confira as instruções que enviei para o aplicativo Alexa.
¡Bienvenido a {Skill_name}! Para acceder a esta funcionalidad, deberás vincular tus cuentas de Amazon y {Skill_name}.Mira las instrucciones que envié a la aplicación Alexa.
プッシュ通知から開始する場合
以下のフローでは、ユーザーが、スキルがアカウントリンクカード を出したときに送信されるプッシュ通知からアカウントリンクを開始しています。アカウントリンクカードは、ユーザーが認証の必要な機能を使おうとしたときにスキルがAlexaアプリに送信するカードです。
注: 以下は、スキルが
アプリ間アカウントリンク(Alexaアプリから開始) を実装していて、ユーザーがデバイスにアプリをインストール済みである場合の例です。上記のいずれにも当てはまらない場合、ユーザーは、アカウントをリンクするために認証画面のURIで認証情報を入力する必要もあります。
アカウントリンクフロー
外観
ユーザーエクスペリエンス
バックグラウンドでの処理
—
ユーザーが「アレクサ、タクシー予約を有効にして」 と言います。
AlexaがスキルにLaunchRequest
リクエストを送信します。リクエストにはアクセストークン が含まれていません。
—
Alexaが(スキル経由で)「タクシー予約へようこそ! この機能を利用するには、Amazonアカウントとタクシー予約アカウントをリンクする必要があります。Alexaアプリに手順を送りましたので確認してください」 と言います。
スキルはリクエストからアクセストークンを抽出 しようとしますが、何もありません。スキルがAlexaに応答する際、その応答には読み上げテキストとアカウントリンクカードが含まれます。 これにより、アカウントリンクプッシュ通知がトリガーされます。
モバイルデバイスのプッシュ通知
ユーザーはAlexaアプリからのプッシュ通知をタップします。この通知は、タクシー予約アカウントのリンクをリクエストするものです。
Alexaアプリはアプリを開き、アプリ間アカウントリンク(Alexaアプリから開始)を設定 したときに定義したauthorizationUrlsByPlatform
を使用してアプリに認可リクエストを行います。
タクシー予約アプリ
Alexaアプリが一時的に開き、Alexaアプリがタクシー予約アプリを開きます。タクシー予約アプリ内に同意画面を表示し、アカウントリンクのリクエストに同意するか拒否するかをユーザーに確認します。ユーザーは、リクエストを認可し、タクシー予約の利用規約に同意します。
ユーザーが認可を行い、すべての利用規約に同意したら、タクシー予約の認可サーバーは認可コード を生成してAlexaに返します。この認可コードにより、Alexaはアクセストークンをリクエストします。アクセストークンは、Alexaがユーザーのタクシー予約データにアクセスするのに必要なものです。
Alexaアプリ
ユーザーがAlexaアプリに戻ると、ログイン成功画面が表示されます。
タクシー予約アプリはユーザーをAlexaアプリのリダイレクト先のURL にリダイレクトし、クエリ文字列に認可コードをセットして渡します。Alexaは、次にタクシー予約のアクセストークンURI を開いてアクセストークンを取得し、これによりアカウントリンクプロセスが完了します。
—
ユーザーが「アレクサ、タクシー予約を開いて配車を依頼して」 と言います。
AlexaはスキルにLaunchRequest
リクエストを送信し、リクエストにアクセストークンを含めます。
スキルはリクエストからアクセストークンを抽出 し、アクセストークンを検証 し、タクシー予約のリソースサーバーの呼び出しでアクセストークンを使用します。ユーザーデータはこのリソースサーバーに含まれます。
アプリから開始する場合
スキルがアプリ間のアカウントリンク(アプリから開始) を実装している場合、ユーザーはアプリ内のアカウントリンクのリンクをタップし、Alexaアプリがインストールされている場合はユーザーがAlexaアプリに引き渡されます。その後、ユーザーがリンク ボタンをタップしてリクエストを認可すると、ユーザーはアカウントがリンクされたアプリに引き渡されます。
アカウントリンクフロー
以下は、アプリから開始するアプリ間アカウントリンクフローの例です。
外観
ユーザーエクスペリエンス
バックグラウンドでの処理
タクシー予約アプリ
スキルを有効にし、アカウントをAlexaにリンクするためのオプションがアプリに表示されます。ユーザーがAlexaとのアカウントリンクを選択します。
アカウントリンクのユーザーへの提案はさまざまな場所で行えます。詳しくは、ベストプラクティス を参照してください。
Alexaアプリのリンクオプション
Alexaアプリに引き渡されたユーザーは、リンク をタップします。
アプリは、ユニバーサルリンク(iOS)またはアプリリンク(Android)を使ってユーザーをAlexaアプリにリダイレクトします。
タクシー予約アプリ
ユーザーがアプリに戻され、アカウントがリンク済みであるというステータスと成功メッセージが表示されます。
Alexaアプリは、Amazon認可コードとともにユーザーをアプリにリダイレクトします。このコードを使用してアカウントリンクプロセスを完了できます。
—
ユーザーが「アレクサ、タクシー予約を開いて配車を依頼して」 と言います。
AlexaはスキルにLaunchRequest
リクエストを送信し、リクエストにアクセストークン を含めます。
スキルはリクエストからアクセストークンを抽出 し、アクセストークンを検証 し、タクシー予約のリソースサーバーの呼び出しでアクセストークンを使用します。ユーザーデータはこのリソースサーバーに含まれます。
以下のフローは、Alexaアプリがインストールされていない場合にアカウントリンクをするためのLWA ログインページがどのように表示されるかを示しています。
アカウントリンクフロー
外観
ユーザーエクスペリエンス
バックグラウンドでの処理
タクシー予約アプリ
スキルを有効にし、アカウントをAlexaにリンクするためのオプションがアプリに表示されます。ユーザーがAlexaとのアカウントリンクを選択します。
アカウントリンクのユーザーへの提案はさまざまな場所で行えます。詳しくは、ベストプラクティス を参照してください。
Login with Amazonのサインイン画面
ユーザーにLogin with Amazon のログインページが表示されます。
アプリは、アプリ内ブラウザタブのLWAフォールバックURLを使ってLogin with Amazon(LWA)を起動します。
LWAによる認可
ユーザーにLWAの同意画面が表示されます。ユーザーは、この画面でタクシー予約へのアクセスを認可します。
LWAは、ユーザーからの同意を得て認可コードを生成します。
タクシー予約アプリ
ユーザーがアプリに戻され、アカウントがリンク済みであるというステータスと成功メッセージが表示されます。
LWAが、ユーザーのリダイレクト先のURLを使ってユーザーをアプリに戻します。このリダイレクトでは、ユーザーのAmazon認可コードも送信されます。このコードを使ってアカウントリンクプロセスを完了できます。
—
ユーザーが「アレクサ、タクシー予約を開いて配車を依頼して」 と言います。
AlexaはスキルにLaunchRequest
リクエストを送信し、リクエストにアクセストークン を含めます。
スキルはリクエストからアクセストークンを抽出 し、アクセストークンを検証 し、タクシー予約のリソースサーバーの呼び出しでアクセストークンを使用します。ユーザーデータはこのリソースサーバーに含まれます。
画面付きAlexa搭載デバイスのプロンプトから開始する場合
スキルがアカウントリンクを求めるリクエストを受信すると、画面付きAlexa搭載デバイスの画面にQRコードが表示されます。ユーザーがコードをスキャンします。認証情報を入力することもできます。
画面付きAlexa搭載デバイスのQRコードから開始する場合
以下のフローでは、ユーザーが認証の必要な機能をしようとすると、画面付きAlexa搭載デバイスにアカウントリンクのQRコードが表示されます。
注: 以下は、スキルが
アプリ間アカウントリンク(Alexaアプリから開始) を実装していて、ユーザーがデバイスにアプリをインストール済みである場合の例です。上記のいずれにも当てはまらない場合、ユーザーは、アカウントをリンクするために認証画面のURIで認証情報を入力する必要もあります。
アカウントリンクフロー
外観
ユーザーエクスペリエンス
バックグラウンドでの処理
—
ユーザーが「アレクサ、タクシー予約を有効にして」 と言います。
Alexaは、ユーザーのアカウントがタクシー予約スキルにリンクされていないことを判断します。
画面付きAlexa搭載デバイスのQRコード
Alexaが「タクシー予約を使用するには、アカウントをリンクする必要があります。画面上のQRコードをスマートフォンで読み取ってください」 と言います。 ユーザーがQRコードをスキャンします。
画面付きAlexa搭載デバイスにQRコードが表示されます。QRコードをスキャンするとユーザーがAlexaアプリにディープリンクされ、リンクフローが開始されてタクシー予約アプリが開きます。
Alexaアプリ内のタクシー予約の認可ページ
Alexaアプリが一時的に開き、Alexaアプリがタクシー予約アプリを開きます。タクシー予約アプリ内に同意画面を表示し、アカウントリンクのリクエストに同意するか拒否するかをユーザーに確認します。ユーザーは、リクエストを認可し、タクシー予約の利用規約に同意します。
ユーザーが認可を行い、すべての利用規約に同意したら、タクシー予約の認可サーバーは認可コード を生成してAlexaに返します。この認可コードにより、Alexaはアクセストークンをリクエストします。アクセストークンは、Alexaがユーザーのタクシー予約データにアクセスするのに必要なものです。
Alexaアプリでの成功画面
ユーザーがAlexaアプリに戻ると、ログイン成功画面が表示されます。
タクシー予約アプリはユーザーをAlexaアプリのリダイレクト先のURL にリダイレクトし、クエリ文字列に認可コードをセットして渡します。Alexaは、次にタクシー予約のアクセストークンURI を開いてアクセストークン を取得し、これによりアカウントリンクプロセスが完了します。
画面付きAlexa搭載デバイスでのアカウントリンク成功画面
画面付きのAlexa搭載デバイスに成功メッセージが表示されます。
ユーザーがアプリでアカウントリンクフローを完了するとすぐ、画面付きAlexa搭載デバイスの画面が更新されて成功メッセージが表示されます。スキルエクスペリエンスがすぐに開始されます。AlexaはスキルにLaunchRequest
リクエストを送信し、リクエストにアクセストークンを含めます。
スキルはリクエストからアクセストークンを抽出 し、アクセストークンを検証 し、タクシー予約のリソースサーバーの呼び出しでアクセストークンを使用します。ユーザーデータはこのリソースサーバーに含まれます。
画面付きAlexa搭載デバイスに認証情報を入力
以下のフローでは、ユーザーが認証の必要な機能を使おうとするときに、画面付きAlexa搭載デバイスに認証情報を入力します。
アカウントリンクフロー
外観
ユーザーエクスペリエンス
バックグラウンドでの処理
—
ユーザーが「アレクサ、タクシー予約を有効にして」 と言います。
Alexaは、ユーザーのアカウントがタクシー予約スキルにリンクされていないことを判断します。
QRコードとサインインボタン
Alexaが「タクシー予約を使用するには、アカウントをリンクする必要があります。画面上のQRコードをスマートフォンで読み取ってください」 と言い、このデバイスを使用してサインイン ボタンを使った別のアカウントリンク方法を表示します。ユーザーがボタンをタップします。
ユーザーがボタンをタップすると、Alexaが画面付きAlexa搭載デバイスでアカウントリンクフローを開始します。
Alexaプロフィール選択
スキルが個人アカウントのリンクをサポートしている場合、ユーザーは画面上でプロフィールを選択できます。サポートしていない場合、プロフィール選択画面は省略されます。
Alexaは、ユーザーのAmazonアカウントからプロフィールのリストを表示します。Alexaは、ユーザーがアカウントリンクを完了したら、ここでの選択内容に従って、タクシー予約アカウントを選択されたプロフィールにリンクします。
タクシー予約のサインインページ
画面付きAlexa搭載デバイスのブラウザにタクシー予約のログインページが表示され、ユーザーはタクシー予約の認証情報を使ってログインします。
Alexaが認証画面のURI を使ってアクセスしたタクシー予約の認可サーバー が、Alexaアプリ内にログインページを表示します。このページがユーザーのタクシー予約認証情報を受け取ります。
タクシー予約の認可ページ
ユーザーは、タクシー予約の利用規約を確認し、同意します。
ユーザーがログインしてすべての利用規約に同意したら、タクシー予約の認可サーバーは認可コード を生成してAlexaに返します。この認可コードにより、Alexaはアクセストークンをリクエストします。アクセストークンは、Alexaがユーザーのタクシー予約データにアクセスするのに必要なものです。
Alexaアプリ
画面付きのAlexa搭載デバイスに成功メッセージが表示されます。
ユーザーが画面付きAlexa搭載デバイスでアカウントリンクフローを完了するとすぐに、成功画面が表示されます。スキルエクスペリエンスがすぐに開始されます。AlexaはスキルにLaunchRequest
リクエストを送信し、リクエストにアクセストークン を含めます。
スキルはリクエストからアクセストークンを抽出 し、アクセストークンを検証 し、タクシー予約のリソースサーバーの呼び出しでアクセストークンを使用します。ユーザーデータはこのリソースサーバーに含まれます。
音声プロンプトで開始する場合
カスタムスキルがアカウントリンクの必要なリクエストを受信すると、スキルはユーザーを音声によるアカウントリンク(LWA OAuth) フローに送ります。
以下は、ユーザーがアカウントリンクに同意した場合の音声によるアカウントリンク(LWA OAuth)フローの例です。その他のシナリオについては、音声によるアカウントリンク(LWA OAuth)のユーザーエクスペリエンス を参照してください。
アカウントリンクフロー
ユーザーエクスペリエンス
バックグラウンドでの処理
ユーザーが「アレクサ、タクシー予約を開いて」 と言います。
AlexaがスキルにLaunchRequest
リクエストを送信します。
Alexaが「こちらがライドヘイラー株式会社のタクシー予約スキルです」 と言います。
Alexaがスキルを紹介します。
スキルが「タクシー予約へようこそ! タクシーを予約するために、アカウントをリンクしますか? 『アカウントをリンク』または『いいえ』と言ってください」 と言います。
スキルは、ユーザーが既にアカウントリンクしているかどうかを確認します。していない場合、スキルはアカウントリンクのメリットを説明し、ユーザーにアカウントリンクを希望するかどうかをたずねます。
ユーザーが「アカウントをリンク」 と言います。
ユーザーがアカウントリンクに同意したら、スキルはSkill Connectionsを使ってConnections.StartConnection
ディレクティブを送信し、音声によるアカウントリンク(LWA OAuth)フローを開始します。
Alexaが「アカウントをリンクするには、登録されたAlexaプロフィールの情報を一部、共有する必要があります。タクシー予約に、お名前とメールアドレスへのアクセスを許可しますか? 『承認します』または『いいえ』と言ってください」 と言います。
ユーザーが設定した権限スコープのすべてに権限を付与しておらず、最近アカウントリンクを拒否していない場合、Alexaはユーザーがまだ同意していない権限スコープへの許可を求めます。
ユーザーが『承認します』 と言います。
ユーザーが音声で同意を伝えます。
Alexaが、「アニーさん、リクエストを認証するために、『私のコードは』に続けて、スマートフォンで受信したコードを言ってください」 と言います。
追加の確認として、Alexaはユーザーのスマートフォンにコードを送信し、ユーザーにそのコードを読み上げるよう言います。
ユーザーが「アレクサ、私のコードは1-2-3-4-5-6です」 と言います。
ユーザーがコードを読み上げます。
Alexaが「アニーさんのAmazonログイン情報でタクシー予約にサインインしました。リンクされたアカウントはAlexaアプリのスキルセクションで管理できます」 と言います。
Alexaがアカウントリンクフローを完了し、ユーザーに知らせて、スキルに制御を戻します。
スキルが「タクシーの予約ができるようになりました。 どこに行きますか?」 と言います。
スキルはリクエストからアクセストークンを抽出 し、アクセストークンを検証 し、タクシー予約のリソースサーバーの呼び出しでアクセストークンを使用します。ユーザーデータはこのリソースサーバーに含まれます。
最終更新日: 2025 年 09 月 26 日