アカウントリンクのベストプラクティス



アカウントリンクを使うと、ユーザーがスキルを有効にするまでのステップが1つ増えます。このため、スムーズなエクスペリエンスにすることが重要です。このトピックでは、アカウントリンクに関して否定的なスキルレビューを書かれないためのベストプラクティスを紹介します。

一部アプリ間のアカウントリンクには当てはまらないログインエクスペリエンスに関するものもありますが、全体的なガイドラインは参考にできます。

ログインページのデザイン

ユーザーがAlexaアプリからアカウントリンクの必要なスキルを有効にするとすぐに、スキルにアカウントリンクを設定した際に認証画面のURIとして指定したログインページにリダイレクトされます。このセクションでは、このページのベストプラクティスを紹介します。

わかりやすい手順を提供する

ログインページでは、ユーザーが入力する認証情報について指示してください。たとえば、ユーザーがAmazonアカウントではなくサービスの認証情報でログインする必要がある点を明確に説明します。指示がない場合、ユーザーはAmazon認証情報を入力し、うまく機能しないと混乱してしまう可能性があります。サードパーティの認証サーバーを使用する場合は、そのサーバーの認証情報でログインする必要がある点をはっきりと伝えます。

ログインページを明確にブランディングする

ログインページにブランドを表示し、このページがブランドのサービスに関連していることがユーザーにはっきりと伝わるようにします。会社やサービスの統合があった場合、同じログインページを使用する既存のユーザーと新しいユーザーの両方について、同じアカウントリンクエクスペリエンスを提供できるようにしてください。このログインページは、ユーザーが最初に登録したサービスとは異なる可能性もあります。

ユーザーの言語でログインページを作成する

ユーザーのブラウザがサポートされている言語のいずれかに設定されている場合、Alexaアプリはその言語設定を使ってローカライズされたバージョンを表示しようとします。これ以外の言語の場合、Alexaアプリはデフォルトでen-USになります。

ユーザーエクスペリエンスに一貫性を持たせるには、ログインページにもAlexaアプリと同じ言語を使用します。言語を取得するには、まずAccept-Language HTTPヘッダーを確認します。Alexaアプリは認証画面のURIを呼び出すとき、このヘッダーを設定しようとします。ヘッダーが設定されていない場合、navigator.languageまたはnavigator.browserLanguageのプロパティを確認してユーザーのブラウザで定義されている言語を使用できます。

ユーザーのブラウザ設定は、ユーザーのAlexa搭載デバイスで使用するよう設定した言語とは関係ありません。たとえばユーザーは、デバイスで日本語を使うよう設定し、ブラウザを英語(英国)で使うよう設定することができます。この場合、Alexaアプリは日本語で表示され、Accept-Languageヘッダーは英語(en-GB)に設定されます。

すべてのログイン・登録エクスペリエンスに対して同等に対応する

ウェブサイトやモバイルアプリでFacebook Login、Log in with Twitter、Google Sign-In、Login with Amazonなどの認証プロバイダーをサポートする場合、スキルの認証画面のURIでもこれらの認証プロバイダーをサポートするようにしてください。サポートしない場合、一部のユーザーがAlexaスキルとアカウントをリンクできなくなり、Alexaだけのために新規アカウントを作成しなければならなくなります。それによってユーザーエクスペリエンスが途切れ、使いにくくなります。

検証を追加する

ログインページには、認証が試行される前にログイン情報の形式が正しいかどうかを確認する入力フィールドの検証を含めてください。これにより、明らかなタイプミスやコピーアンドペーストによるエラーが原因である場合に、認証前の検証エラーメッセージで修正すべきフィールドを伝えることができます。

以下に、よくある検証エラーの一部を紹介します。

  • 前後の不要なスペース – 前後に不要なスペースがある場合は取り除くか、ユーザーに警告を出します。
  • 意図しない大文字 – ソフトキーボードを使うモバイルデバイスでは、大文字小文字が区別されるフィールドでデフォルト入力を大文字にしないよう注意してください。デフォルト入力が大文字であることを、ユーザーが想定していない可能性があるからです。
  • 地域固有の検証 – 郵便番号、住所、電話番号などを検証する場合、スキルを利用可能なすべての地域にロジックが対応することを確認します。検証中にエラーが発生した場合は、ユーザーに明確に伝えてください。
  • オートコレクト – ログインページのユーザー名やメールアドレスのフィールドでは、オートコレクトや自動で頭文字を大文字にするオプションはオフにし、入力エラーが少なくなるようにしてください。

明確なエラー説明を提供する

ユーザーが正常にログインできないためにアカウントリンクが失敗した場合、関連するすべてのエラーメッセージで明確かつ簡潔に問題の内容とユーザーの修正方法を伝えてください。

ログインページには、アカウントリンクプロセスに関連するリンクのみを追加するようにします。このページは、ホームページを閲覧する場所ではありません。

アカウント復旧をサポートする

ユーザーは、サービスのユーザー名やパスワードを忘れてしまうことがあります。アカウントリンクエクスペリエンスの一環として、アカウント復旧オプションを含めるようにしてください。

ヘルプにアクセスしやすくする

パスワードを忘れたり、アカウントがロックされたりといった問題が発生した場合、ユーザーが簡単にヘルプにアクセスできるようにしてください。ログインページでは、ユーザーサポートに問い合わせる方法について明確なガイダンスを提供してください。

アカウントリンクのテスト

このセクションでは、スキルのアカウントリンクフローのテストに関するベストプラクティスを紹介します。

さまざまなデバイスやブラウザからアカウントリンクプロセスをテストする

ほとんどのユーザーは、モバイルデバイスを使ってスキルを有効にし、アカウントをリンクします。つまり、ログインページがさまざまな種類やバージョンのオペレーティングシステム、さまざまな画面サイズで表示される可能性があるということです。以下の点を考慮してください。

  • WindowsやmacOSのような一般的なデスクトップオペレーティングシステムでテストします。最新バージョンだけでなく、その他のサポートされるバージョンもテストします。
  • Firefox、Chrome、Internet Explorer、Safariといった一般的なブラウザでテストします。
  • iOSとAndroidについては最新の数バージョンをテストします。
  • スマートフォンやタブレットといった複数のフォームファクターでテストします。
  • さまざまな画面サイズや向きでテストします。

ページへのナビゲーションをテストする

ログインページのリンクをすべて確認します。これらは、認定プロセスの一環としてテストされる項目です。また、ブラウザのページを進んだり戻ったりできること、ページの移動をした後でアカウントリンクプロセスを正常に完了できることも確認してください。

アカウントの新規作成フローをテストする

Alexaスキルは、サービスに新規のユーザーを集めるのに有効です。つまり、ウェブサイトやモバイルアプリでユーザーがアカウントを新規作成できるのであれば、スキルを有効にしたタイミングでも作成できるようにする必要があります。スキル有効化とアカウントリンクのプロセスを通じて、アカウントの新規作成フローをサポートし、テストしてください。アカウントの作成時に入力検証がある場合、アカウントリンクフローでこの検証をテストし、特にモバイルデバイス上でシームレスにアカウントリンクを実施できることを確認してください。

アカウント復旧をテストする

テストの際、ログイン失敗の試行をシミュレートしてください。ログインに複数回失敗した場合のセキュリティメカニズム(CAPTCHAフローなど)がある場合、特にモバイルデバイス上でのアカウントリンクフローで適切に動作することを確認します。また、ログインプロセスを妨げる可能性のある、あらゆるアカウント状態を検討しておいてください。たとえば、新しいアカウントを確認できない場合やサブスクリプションの期限切れ、アカウントが停止やブロックされた状態などです。

多要素認証をテストする

ユーザーがアカウントで多要素認証を有効にできる場合、スキルのアカウントリンクフローでも多要素認証を利用できるようにします。

その他

このセクションでは、その他のベストプラクティスをいくつか紹介します。

アカウントリンクが本当に必要かを確認する

アカウントリンクを必要とするタイプのスキルではなく、セッション間のデータの保持だけが必要な場合は、厳密にはアカウントリンクは不要です。Alexaからのリクエストとともに提供されるユーザーIDアトリビュートでは、スキルを無効にして再度有効にしていない限り、セッション間で同じユーザーとして識別します。スキルの複数セッション間でデータを保存するには、スキルセッション外部のデータストアに状態を保存する必要があります。また、ユーザーの住所や位置情報といった情報が必要な場合は、アカウントリンクではなくアクセス権限機能を使用することを検討してください。詳細については、スキルのカスタマー情報のアクセス権限を参照してください。

ユーザーがアカウントを切り替えられることを確認する

ユーザーがスキルに関連付けたアカウントを変更できるようにしてください。たとえば、ユーザーがスキルを無効にして再度有効にした場合、サービスにもう一度ログインするよう求めます。

応答のヘッダーサイズを確認する

ページ読み込みの問題を回避するには、2,000文字を超えないようにすることが推奨されます。文字数をこの値未満に維持するには、OAuthのアカウントリンクに関係のない余分なcookieの値を取り除く必要が生じることがあります。

ユーザーをリダイレクトする

ログインプロセスが完了したら、ユーザーをAlexaアプリにリダイレクトすることを忘れないでください。たとえば、ブランド固有の成功または失敗ページを作成した場合、特にログインが成功した際には必ずリダイレクトステップを含めるようにします。ユーザーをリダイレクトするには、Alexaのリダイレクト先URLを認証プロバイダーのホワイトリストに登録する必要があります。ホワイトリスト登録するURLは、開発者コンソールのアカウントリンクセクションにあるAlexaのリダイレクト先URLのエントリー、および認可リクエストURLのredirect_uriパラメーターで確認できます。