Smart Lock 統合内で可能なフローは、新しいユーザーの [アカウントの選択] モーダルにつながります。このポップアップでアカウントを選択すると、サインアップ ページが事前に入力されますが、ユーザーは後で新しいパスワードを入力してアカウントを作成する必要があります。「Choose an Account」ヘッダーは、ユーザーが既にアプリにアカウントを持っていると信じ込ませるため、誤解を招くと思います。このモーダルのヘッダーを変更して、別のことを言うことはできますか?「サインアップフォームに事前入力:」のように、より直感的なものにすることはできますか?
1 に答える
私は Google の Smart Lock のプロダクト マネージャーです。Play サービス API の 8.3 リリース (2015 年 11 月) で、これをサポートする機能をいくつか追加しました。
以前は、ユーザーが 1 回のタップでメール アドレスを選択してサインインまたはサインアップできるようにする「ヒント」ダイアログには、「アカウントの選択」というタイトルがありました。これは、質問に記載されているように、ユーザーの混乱を引き起こしました。8.3 では、既定のテキストを "Sign in with" に変更し、呼び出し元のアプリで "Sign up with" にカスタマイズできるようにしました。ダイアログ テキストは Play Services によってレンダリングされ、ローカライズする必要があるため、完全にカスタマイズすることはできませんが、ユーザー エクスペリエンス調査では、「Sign up with」は「Prefill sign up form with」などと同じユーザーの受け入れと完了を示していることがわかりました。ただし、ダイアログを使用できるシナリオで開発者により多くの自由を与えました。(余談ですが、テストでは、ほとんどのユーザーがダイアログの上部にあるテキストをまったく読んでいないことがわかりました!
サンプル コード:アカウント作成用の をビルドし、Play Services 8.3 で に追加されたメソッド用の をビルドするときにこれをCredentialPickerConfig
に提供します。setForNewAccount(true)
setHintPickerConfig()
HintRequest
getHintPickerIntent()
Auth.CredentialsApi
import com.google.android.gms.auth.api.Auth;
import com.google.android.gms.auth.api.credentials.CredentialPickerConfig;
import com.google.android.gms.auth.api.credentials.HintRequest;
CredentialPickerConfig selectorConfig = new CredentialPickerConfig.Builder()
.setForNewAccount(true).build();
HintRequest hintRequest = new HintRequest.Builder()
.setHintPickerConfig(selectorConfig).build();
PendingIntent intent = Auth.CredentialsApi.getHintPickerIntent(apiClient, hintRequest);
try {
startIntentSenderForResult(intent.getIntentSender(), RESOLVE_HINT, null, 0, 0, 0);
} catch (IntentSender.SendIntentException e) {
Log.e(TAG, "Intent failure", e);
}
のセットアップapiClient
と残りの API の統合の詳細については、Github のサンプル コードを確認してください。質問やフィードバックがある場合は、コメントを残してください。