ユーザーがアカウントをリンクせずにスキルを有効にする


ユーザーがアカウントをリンクせずにスキルを有効にする

デフォルトでは、ユーザーはアカウントリンクフローを開始せずにスキルを有効にできます。これにより、ユーザーがスキルを有効にするときに、ユーザーの手間が省略でき、認証の必要のない部分を使用しやすくなります。または、開発者はユーザーがスキルを有効にしたときにアカウントリンクを必須にすることもできますが、処理の手間が増えます。

Alexaアプリのアカウントリンクとユーザーエクスペリエンス

ユーザーがAlexaスキルストアでスキルを表示してAlexaアプリでスキルを有効にする場合、エクスペリエンスはアカウントリンクの設定によって変わります。

シナリオ ユーザーがアカウントリンクせずにスキルを有効にすることを許可されている(デフォルト) ユーザーはスキルを有効にするためにアカウントをリンクする必要がある

ストアのスキルの詳細カード

詳細カードにアカウントリンクが使用できることが記載されています。

アカウントリンクを使用できますが、スキルを有効にするときに完了する必要はありません。

スキルの詳細カードにアカウントリンクが必須であることが記載されています。

アカウントのリンクが必要です

ユーザーがスキルを有効にした場合

スキルはすぐに有効になり、アカウントリンクフローは表示されません。

Alexaアプリにログインページが表示され、通常のアカウントリンクフローが開始されます。

ユーザーがスキルと対話する場合

ユーザーは通常どおりスキルと対話します。

  • アカウントリンクが不要なリクエストは通常どおり処理されます。
  • アカウントリンクが必要なリクエストの場合は、ユーザーにアカウントリンクが必要であることが通知され、アカウントリンクカードに戻ります。

ユーザーはいつでもAlexaアプリに戻ってアカウントリンクプロセスを完了できます。このプロセスは、アカウントリンクカードまたはスキルの詳細カードから開始できます。

ユーザーは通常どおりスキルと対話します。

  • ユーザーがスキルを有効にした際にアカウントを正常にリンクしている場合は、リクエストは通常どおり処理されます。
  • ユーザーがアカウントリンクプロセスをキャンセルした場合、またはプロセスが失敗した場合、リクエストはユーザーにアカウントリンクが必要であることを通知し、アカウントリンクカードに戻ります。
Alexaアプリのアカウントリンクカード
アカウントをリンクしていないユーザーが認証の必要なリクエストを行った場合は、アカウントリンクカードを使用します

ユーザーがアカウントをリンクせずにスキルを有効にする場合

スキルにアカウントリンクが不要で役に立つ機能が含まれている場合、ユーザーがアカウントをリンクしないでスキルを有効にできる必要があります。アカウントを接続したくないユーザーにもスキルを使ってもらえるように、アカウントリンクが必要な機能と不要な機能をスキルの説明で説明することをお勧めします。

アカウントリンクが必須なインテントは、次の両方を含む応答を返す必要があります。

  • その機能にはアカウントリンクが必要であることを説明する読み上げテキスト。このテキストで、アカウントをリンクするためにユーザーをAlexaアプリに誘導する必要もあります。
  • LinkAccountカード。

たとえば、次のやり取りではユーザーがアカウントリンクを必要とするリクエストを行いましたが、アカウントリンクフローは開始していません。詳細については、トークンが無効または存在しない場合にユーザーに応答するを参照してください。

ユーザーはタクシー予約を有効にしましたがアカウントリンクフローは開始していません。

ユーザー: アレクサ、タクシー予約を開いて。

Alexa: タクシー予約へようこそ。道案内と交通情報を提供できます。タクシー予約アカウントをお持ちでしたら、配車をリクエストできます。どちらにしますか?

ユーザー: 中央通り123番地まで乗せて。

Alexa: 車を手配するには、タクシー予約アカウントが必要です。Alexaアプリを開き、リンクをクリックしてタクシー予約アカウントをAlexaにリンクしてください。
スキルはアカウントリンクカードを送信します。

次の例では、スキルはアカウントを必要としないため、スキルは通常どおりにリクエストを処理します。

ユーザーはタクシー予約を有効にしましたがアカウントリンクフローは開始していません。

ユーザー: アレクサ、タクシー予約を開いて。

Alexa: タクシー予約へようこそ。道案内と交通情報を提供できます。タクシー予約アカウントをお持ちでしたら、配車をリクエストできます。どちらにしますか?

ユーザー: 神戸の交通情報を教えて。 (タクシー予約アカウントを必要としない一般的なリクエストです。)

Alexa: 今日午前9時現在の神戸の交通状況は…

スキルにアカウントリンクが不要で役に立つ機能が含まれていない場合、Alexa開発者コンソールでアカウントリンクなしでスキルを有効にすることをユーザーに許可しますをオフにします。この機能を無効にすると、ユーザーがスキルを有効にするときに、Alexaはユーザーをアカウントリンクフローに送ります。

アカウントリンクが必要かどうかをスキルに設定する

開発者コンソール、ASK CLI、またはスキル管理APIを使用して、アカウントリンクなしでスキルを有効にすることをユーザーに許可しますオプションを設定できます。

公開中のスキルの更新

このオプションは以前に公開されたスキルでも変更できます。そのスキルを既に有効にしているユーザーに影響はありません。変更が行われた後にスキルを有効にした新規ユーザーのエクスペリエンスのみが変更されます。このオプションの変更には、スキルの再認定が必要であることに注意してください。

ユーザーにアカウントをリンクしないスキルの有効化を許可するには:

  • Alexa開発者コンソール: 開発者コンソールのツール >アカウントリンクセクションに移動して、アカウントリンクなしでスキルを有効にすることをユーザーに許可しますオプションを選択します。
  • ASK CLIcreate-account-linkingサブコマンドを使用して、「Allow users to enable skill without account linking(アカウントリンクなしでスキルを有効にすることをユーザーに許可します)」と表示されたときにYES(はい)を指定します。このオプションを使用するには、ASK CLIの最新バージョンを使用してください。次のコマンドで最新バージョンがあることを確認できます。

    $ npm update -g ask-cli
    
  • スキル管理APIアカウントリンクスキーマskipOnEnablementオプションをtrueに設定し、アカウントリンクの更新リクエストを送信します。
    以下は、skipOnEnablementtrueに設定されたアカウントリンクスキーマの例です。
{
    "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"
    }
}

コードとメタデータを更新する

インテントハンドラーが以下を実行することを確認します。

  • アカウントリンクが不要なインテントは、直接ユーザーのリクエストを処理します。
  • アカウントリンクを必要とするインテントは、トークンを検証し、トークンが存在しないか無効な場合はアカウントリンクカードを返します。ユーザーエクスペリエンスを向上させるには、関連ユーザーデータを永続データストアに保存して、ユーザーがアカウントをリンクさせた後、続きからスキルに戻れるようにします。

また、スキルのメタデータも確認します。アカウントを接続したくないユーザーにもスキルを使ってもらえるように、アカウントリンクが必要な機能と不要な機能をスキルの説明で説明することをお勧めします。

アカウントリンク不要で有効にできるスキルのスキル詳細ページ


このページは役に立ちましたか?

最終更新日: 2025 年 09 月 26 日