如何使用com.amazonaws.mobile.auth.userpools类SignUpActivity和SignInUI向Android应用程序添加更好的验证反馈
下面的代码用于显示AWS Android登录对话框,其中包含一个选项,允许用户在Android应用程序中注册(“创建新帐户”)(与iPhone类似)。验证很差 用户将显示一个通用故障对话框,并返回到登录页面,其中包含AWS返回的错误(通常过于技术性,仅限于表单上的第一个错误)。“错误”对话框一次只验证一个字段。用户将被迫返回登录页面,并且必须重新输入其所有信息 任何单一错误或验证错误都将被拒绝,用户将返回登录页面,并要求重新输入其所有信息。单调乏味的用户体验设计 有没有办法改进或利用用户体验并继续使用AWS?有人知道亚马逊计划改进这一点吗?长期的解决办法是不使用这些类,从头开始编写所有的登录和帐户创建,但我更愿意关注核心应用程序功能,而不是花时间在登录对话框上,至少现在是这样。有些用户在尝试创建帐户时只是卸载了该应用程序,因为它太单调乏味了如何使用com.amazonaws.mobile.auth.userpools类SignUpActivity和SignInUI向Android应用程序添加更好的验证反馈,android,amazon-web-services,amazon-cognito,amazon-mobile-hub,Android,Amazon Web Services,Amazon Cognito,Amazon Mobile Hub,下面的代码用于显示AWS Android登录对话框,其中包含一个选项,允许用户在Android应用程序中注册(“创建新帐户”)(与iPhone类似)。验证很差 用户将显示一个通用故障对话框,并返回到登录页面,其中包含AWS返回的错误(通常过于技术性,仅限于表单上的第一个错误)。“错误”对话框一次只验证一个字段。用户将被迫返回登录页面,并且必须重新输入其所有信息 任何单一错误或验证错误都将被拒绝,用户将返回登录页面,并要求重新输入其所有信息。单调乏味的用户体验设计 有没有办法改进或利用用户体验并继
private void showSignIn() {
AWSMobileClient.getInstance().initialize(this, new AWSStartupHandler() {
@Override
public void onComplete(final AWSStartupResult awsStartupResult) {
Log.d(TAG, "AWSStartupHandler.onComplete()" + awsStartupResult);
AuthUIConfiguration config =
new AuthUIConfiguration.Builder()
.userPools(true) // true? show the Email and Password UI
.signInButton(FacebookButton.class) // Show Facebook button
.signInButton(GoogleButton.class) // Show Google button
.logoResId(R.drawable.ic_modlist_aws_signin_icon)
.backgroundColor(Color.parseColor("#7FA7BC"))
.isBackgroundColorFullScreen(false) // Full screen backgroundColor the backgroundColor full screenff
.fontFamily("sans-serif-light") // Apply sans-serif-light as the global font
.canCancel(true)
.build();
SignInUI signinUI = (SignInUI) AWSMobileClient.getInstance().getClient(AuthenticatorActivity.this, SignInUI.class);
signinUI.login(AuthenticatorActivity.this, MainActivity.class).authUIConfiguration(config).execute();
}
}).execute();
}
用户体验如下所示:
Amazon在2.7.x版(Android SDK Auth UI,com.amazonaws:aws Android SDK Auth UI:2.7)或前后版本中修复了该问题并改进了验证 有关更多信息: