ログイン

ログイン エクスペリエンスを設計する際は、以下のベスト プラクティスに留意してください。

認証情報マネージャーを使用する

認証情報マネージャーの各組み込み認証方法は完全にスタンドアロンであり、認証に必要なのはユーザーのスマートウォッチとデータ接続のみです。他の認証方法では、このメリットは得られません。

認証ソリューションのベースとして認証情報マネージャーを使用します。

主なオプション: Credential Manager の組み込み

認証情報マネージャーの最優先オプションとしてパスキーを実装し、最先端のセキュリティとシンプルさをユーザーに提供します。

パスワードと Google でログインも追加して、完全なエクスペリエンスを実装します。

Wear OS での優先認証ソリューションとしてのユーザー パスキー
図 1a: パスキー
ユーザーはパスキー、パスワード、「Google でログイン」のいずれかを使用して認証できます。
図 1b: パスキー、パスワード、Google でログイン

セカンダリ オプション

ユーザーが Credential Manager を閉じた場合の処理を行うためのオプションを少なくとも 1 つ提供します。合計で 2 つ以上の異なるログイン オプションを提供します。

複数のログイン方法がないと、アプリのユーザー エクスペリエンスが低下します。たとえば、「スマートフォンでログイン」オプションのみを提供するアプリは、ユーザーのスマートフォンが近くにない場合、失敗します。

ユーザーが [閉じる] をタップしてバックアップの認証方法に移動する
図 2a: バックアップの [閉じる] をタップ
Credential Manager のバックアップ認証オプション
図 2b: バックアップの認証

特別なケース: データレイヤの自動認証は、UX で Credential Manager の前に使用できる唯一のセカンダリ オプションです。これには、いくつかの重要な注意点があります。

  1. このオプションは、対応するモバイルアプリがインストールされているペア設定されたスマートウォッチでしか機能しないため、このオプション以外の認証方法を少なくとも 1 つ提供する必要があります。
  2. ユーザーのトークン交換を完全に自動化する必要があります。また、事前にユーザーに UI を表示してはなりません。つまり、ユーザーの視点から見て、認証プロセスを完全に自動化する必要があります。
  3. このメソッドが失敗した場合、ペア設定されたスマートフォンにユーザーがログインしていないか、そもそもペア設定されたスマートフォンが存在しません。試行が失敗したことをユーザーに警告するのではなく、認証情報マネージャーに直接移動します。

ユーザーに適切なプロンプトを表示する

すべての機能でログインが必要なアプリの場合: ログインしていないユーザーに対して、先行する UI なしで、最初の画面として Credential Manager をすぐに表示します。

ログインなしで機能を提供するアプリの場合: 必要なときまで Credential Manager の表示を遅らせます。ログインを必要としない機能をできるだけ多く提供してください。認証が必須になったら、[ログイン] ボタンを表示して認証情報マネージャーを起動します。ログインに失敗した場合は、認証をスキップするオプションを提供します。

すべての機能を利用するためにすぐにログインする

認証のベスト プラクティス

ログインのメリットを説明する

ユーザーのログインを必須になるまで遅らせるアプリの場合は、ログインのメリットを明確に説明してください。周囲の UI コンテキストを使用して、ユーザーにメリットを説明します。ログインが有益である理由をユーザーが理解しているとは限りません。

UI で認証情報マネージャーの名前を参照しないでください。

ユーザーが操作を開始した後にログインを求めて、説明を行う。
ログインが有益である理由を説明せずにログイン画面を表示する。

合理化する

認証プロセスを効率化するには:

  1. 認証情報マネージャーの使用
  2. セカンダリ ログイン オプションで必要な手順を減らす
  3. プライバシーとセキュリティの要件の範囲内で、ユーザーをできる限りログインしたままにする
認証情報マネージャーを使用する
すべてのセカンダリ オプションをまとめて表示します。
ログイン状態を保持する

ログイン ステータスと確認

Credential Manager 以外のオプションを使用する場合は、アプリを初めて開いたときにログインしていることをユーザーに知らせるメッセージを表示し、ログインが成功したら確認メッセージを表示します。

ログイン中であることをユーザーに伝えます。
確認を表示します。