スキルのパーソナライズ機能とアカウントリンクの連携
開発する際の考慮事項については、現在の制約と実装に関する考慮事項を参照してください。
スキルは、アカウントリンクの有無にかかわらずパーソナライズ機能をサポートできます。
ユーザーは、パーソナライズ機能を有効にするかどうかをAlexaアプリで設定できます。
Alexaアプリでパーソナライズ機能を有効にしているユーザーは、スキルを使用する際、個人プロフィールレベルまたは共有アカウントレベルでアカウントリンクを実行できます。共有アカウントとは、現在のAlexa搭載デバイスが登録されているAmazonアカウントを指します。
これらの組み合わせの結果は以下のとおりです。
- パーソナライズ機能とアカウントリンクを両方サポートする場合
- パーソナライズ機能をサポートし、アカウントリンクをサポートしない場合
- アカウントリンクをサポートし、パーソナライズ機能をサポートしない場合
- アカウントリンクとパーソナライズ機能をどちらもサポートしない場合
パーソナライズ機能とアカウントリンクを両方サポートする場合
ユーザーがパーソナライズ機能とアカウントリンクに同意し、有効にした場合(〇)としない場合(✕)の結果は次のとおりです。
この表は、スキル応答のpersonオブジェクトとuserオブジェクトについて説明しています。personオブジェクトは、識別された現在の話者を表します。userオブジェクトは現在の話者を表しません(この話者が識別されているかどうかは関係ありません)。userオブジェクトは、そのスキルを有効にしているAmazonアカウントを表します。
現在のユーザーが、自分の個人プロフィールとスキルをアカウントリンクする場合は、Alexa搭載デバイスに登録しているAmazonアカウントの認証情報を使用してAlexaアプリにログインする必要があります。
| パーソナライズ | アカウントリンク | 結果 |
|---|---|---|
| 〇 | 〇 | personオブジェクトとuserオブジェクトが含まれます。識別されたユーザーは個人プロフィールをリンクできます(まだリンクされていない場合)。アカウント所有者はuserレベルでアカウントリンクを実行できます。個人プロフィールレベルでリンクした場合、リクエストに personオブジェクトが存在するときは、このオブジェクトにaccessToken値が含まれます。userオブジェクトには、共有アカウントのaccessToken値も含まれます。
|
| 〇 | ✕ | personオブジェクトとuserオブジェクトが含まれます。accessToken値は、personとuserどちらのオブジェクトにも含まれません。スキルはpersonId値を使用して、現在のセッションの話者を識別できます。ただし、personレベルでも、userレベルでも、アカウントリンクに関連する機能は実行できません。
|
| ✕ | 〇 | ユーザーリクエストにはuserオブジェクトが含まれますが、personオブジェクトは含まれません。スキルは、共有アカウントレベルでのみアカウントリンクを実行できます。 |
| ✕ | ✕ | スキルは、パーソナライズ機能もアカウントリンク機能も使用できません。スキルの機能を使用する際に必要であれば、ユーザーにアカウントリンクを要求し、ユーザーがアカウントリンクの実行を拒否した場合は、適切に応答するよう処理する必要があります。 |
パーソナライズ機能をサポートし、アカウントリンクをサポートしない場合
ユーザーがAlexaアプリでパーソナライズ機能を有効にした場合(〇)としない場合(✕)の結果は次のとおりです。
| パーソナライズ | 結果 |
|---|---|
| 〇 | personオブジェクトとuserオブジェクトがユーザーのリクエストに含まれます。personId値を使用した追跡は可能ですが、現在のセッションの話者を識別することはできません。
userとpersonどちらのオブジェクトにも、accessToken値が含まれません。スキルは、現在のセッションの話者を識別できます。さらに、personId値を使用し、その後のセッションでも状態を維持できます。 |
| ✕ | ユーザーのリクエストにuserオブジェクトは含まれますが、personオブジェクトは含まれません。スキルは、現在のセッションの話者を一切識別できません。 |
アカウントリンクをサポートし、パーソナライズ機能をサポートしない場合
ユーザーがこのスキルでアカウントリンクを実行する場合(〇)としない場合(✕)の結果は次のとおりです
| アカウントリンク | 結果 |
|---|---|
| 〇 | ユーザーのリクエストにuserオブジェクトは含まれますが、user.accessToken値は、Amazonアカウントにのみリンクされているサードパーティアカウントを表します。
ユーザーのリクエストには personオブジェクトが含まれません。スキルは、現在のセッションの話者を一切識別できません。 |
| ✕ | ユーザーのリクエストにuserオブジェクトは含まれますが、user.accessToken値とユーザーのリクエストにはpersonオブジェクトが含まれません。スキルは、現在のセッションの話者を一切識別できません。 |
アカウントリンクとパーソナライズ機能をどちらもサポートしない場合
ユーザーがAlexaアプリでパーソナライズ機能を有効にした場合(〇)としない場合(✕)の結果は次のとおりです。
| パーソナライズ | 結果 |
|---|---|
| 〇または✕ | ユーザーがAlexaアプリでパーソナライズ機能を有効にしているかどうかにかかわらず、スキルは同じように動作します。ユーザーリクエストにuserオブジェクトは含まれますが、personオブジェクトは含まれません。アカウントリンクがサポートされないため、user.accessToken値がありません。スキルは、現在のセッションの話者を一切識別できません。 |