ユーザーがアカウントをリンクせずにスキルを有効にする
デフォルトでは、ユーザーはアカウントリンクフローを開始せずにスキルを有効にできます。これにより、ユーザーがスキルを有効にするときに、ユーザーの手間が省略でき、認証の必要のない部分を使用しやすくなります。または、開発者はユーザーがスキルを有効にしたときにアカウントリンクを必須にすることもできますが、処理の手間が増えます。
- Alexaアプリのアカウントリンクとユーザーエクスペリエンス
- ユーザーがアカウントをリンクせずにスキルを有効にする場合
- アカウントリンクが必要かどうかをスキルに設定する
- コードとメタデータを更新する
- 関連トピック
Alexaアプリのアカウントリンクとユーザーエクスペリエンス
ユーザーがAlexaスキルストアでスキルを表示してAlexaアプリでスキルを有効にする場合、エクスペリエンスはアカウントリンクの設定によって変わります。
ユーザーがアカウントリンクせずにスキルを有効にすることを許可されている(デフォルト) | ユーザーがアカウントリンクせずにスキルを有効にすることを許可されていない | |
---|---|---|
ストアのスキルの詳細カード |
詳細カードにアカウントリンクが使用できることが記載されています。 |
スキルの詳細カードにアカウントリンクが必須であることが記載されています。 |
ユーザーがスキルを有効にした場合 |
スキルはすぐに有効になり、アカウントリンクフローは表示されません。 |
Alexaアプリにログインページが表示され、通常のアカウントリンクフローが開始されます。 |
ユーザーがスキルと対話する場合 |
ユーザーは通常どおりスキルと対話します。
ユーザーはいつでもAlexaアプリに戻ってアカウントリンクプロセスを完了できます。このプロセスは、アカウントリンクカードまたはスキルの詳細カードから開始できます。 |
ユーザーは通常どおりスキルと対話します。
|
ユーザーがアカウントをリンクせずにスキルを有効にする場合
スキルにアカウントリンクが不要で役に立つ機能が含まれている場合、ユーザーがアカウントをリンクしないでスキルを有効にできる必要があります。アカウントを接続したくないユーザーにもスキルを使ってもらえるように、アカウントリンクが必要な機能と不要な機能をスキルの説明で説明することをお勧めします。
アカウントリンクが必須なインテントは、次の両方を含む応答を返す必要があります。
- その機能にはアカウントリンクが必要であることを説明する読み上げテキスト。このテキストで、アカウントをリンクするためにユーザーをAlexaアプリに誘導する必要もあります。
LinkAccount
カード。
たとえば、次のやり取りではユーザーがアカウントを必要とするリクエストを行います。
ユーザーはタクシー予約を有効にしましたがアカウントリンクフローは開始していません。 ユーザー: アレクサ、タクシー予約を開いて。
Alexa: タクシー予約へようこそ。道案内と交通情報を提供できます。タクシー予約アカウントをお持ちでしたら、配車をリクエストできます。どちらにしますか?
ユーザー: 中央通り123番地まで乗せて。
Alexa: 車を手配するには、タクシー予約アカウントが必要です。Alexaアプリを開き、リンクをクリックしてタクシー予約アカウントをAlexaにリンクしてください。
スキルはアカウントリンクカードを送信します。詳細はトークンが無効または存在しない場合にユーザーに応答するを参照してください。
トークンが無効または存在しない場合にユーザーに応答するを参照してください。
次の例では、ユーザーのリクエストにアカウントは不要なため、スキルは通常どおりにリクエストを処理します。
ユーザーはタクシー予約を有効にしましたがアカウントリンクフローは開始していません。 ユーザー: アレクサ、タクシー予約を開いて。
Alexa: タクシー予約へようこそ。道案内と交通情報を提供できます。タクシー予約アカウントをお持ちでしたら、配車をリクエストできます。どちらにしますか?
ユーザー: 神戸の交通情報を教えて。 (タクシー予約アカウントを必要としない一般的なリクエストです。)
Alexa: 今日午前9時現在の神戸の交通状況は…
スキルにアカウントリンクが必要な機能が含まれていない場合、ユーザーがアカウントリンクなしでスキルを有効にすることを許可してくださいをオフにします。ユーザーがスキルを有効にすると、アカウントリンクのフローに入ります。
アカウントリンクが必要かどうかをスキルに設定する
開発者コンソール、ASK CLI、またはスキル管理APIを使用して、ユーザーがアカウントリンクなしでスキルを有効にすることを許可してくださいオプションを設定できます。
このオプションは以前に公開されたスキルでも変更できます。そのスキルを既に有効にしているユーザーに影響はありません。変更が行われた後にスキルを有効にした新規ユーザーのエクスペリエンスのみが変更されます。このオプションの変更には、スキルの再認定が必要であることに注意してください。
ユーザーにアカウントをリンクしないスキルの有効化を許可するには:
- 開発者コンソール: 開発者コンソールのツール >アカウントリンクセクションに移動して、ユーザーがアカウントリンクなしでスキルを有効にすることを許可してくださいオプションを選択します。
-
ASK CLI: create-account-linkingサブコマンドを使用して、「ユーザーがアカウントリンクなしでスキルを有効にすることを許可してください」と表示されたときに
はい
を指定します。このオプションを使用するには、ASK CLIの最新バージョンを使用してください。次のコマンドで最新バージョンがあることを確認できます。$ npm update -g ask-cli
- スキル管理API: アカウントリンクスキーマで
skipOnEnablement
オプションをtrue
に設定し、アカウントリンクの更新リクエストを送信します。
以下は、skipOnEnablement
がtrue
に設定されたアカウントリンクスキーマの例です。
{
"accountLinkingResponse": {
"skipOnEnablement": true,
"accessTokenScheme": "HTTP_BASIC",
"accessTokenUrl": "https://api.amazon.com/auth/o2/token",
"authorizationUrl": "https://www.amazon.com/ap/oa",
"clientId": "amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"domains": [],
"scopes": [
"Profile"
],
"type": "AUTH_CODE",
"voiceForwardAccountLinking": "DISABLED"
}
}
コードとメタデータを更新する
インテントハンドラーが以下を実行することを確認します。
- アカウントリンクが不要なインテントは、直接ユーザーのリクエストを処理します。
- アカウントリンクを必要とするインテントは、トークンを検証し、トークンが存在しないか無効な場合はアカウントリンクカードを返します。ユーザーエクスペリエンスを向上させるには、関連ユーザーデータを永続データストアに保存して、ユーザーがアカウントをリンクさせた後、続きからスキルに戻れるようにします。
また、スキルのメタデータも確認します。アカウントを接続したくないユーザーにもスキルを使ってもらえるように、アカウントリンクが必要な機能と不要な機能をスキルの説明で説明することをお勧めします。
関連トピック
最終更新日: 2023 年 12 月 18 日