Используемый ниже код отображает диалоговое окно входа в AWS для Android, в котором есть опция, позволяющая пользователям регистрироваться («Создать новую учетную запись») в приложении для Android (аналогично для iPhone). Проверка плохая.
Пользователям выводится диалоговое окно общего сбоя и они возвращаются на страницу входа в систему с ошибкой, возвращаемой из AWS (часто слишком технической и ограниченной первой ошибкой в форме). Диалог ошибок проверяет только одно поле за раз. Пользователи вынуждены вернуться на страницу входа и должны заново ввести всю свою информацию.
Любая отдельная ошибка или ошибка проверки будет отклонена, и пользователь вернется на страницу входа и потребуется повторно ввести всю свою информацию снова. Утомительный и плохой дизайн UX.
Есть ли способ улучшить или использовать UX и по-прежнему использовать AWS? Кто-нибудь знает о планах Amazon улучшить это? Долгое исправление состоит в том, чтобы не использовать классы и писать все логины и создание учетных записей с нуля, но я бы предпочел сосредоточиться на основных функциях приложения, а не тратить время на диалоги входа, по крайней мере сейчас. Некоторые пользователи просто удаляли приложение при попытке создать учетную запись, потому что это слишком утомительно.
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();
}
UX выглядит так: https://docs.aws.amazon.com/aws-mobile/latest/developerguide/images/tutorial-notes-authentication-anim.gif