我在将 Fabric-Digits 和 Firebase 集成到我的 android 应用程序时遇到了麻烦。
使用 Digits 验证用户的电话号码。
使用 Firebase 作为基本后端服务(身份验证、数据库、应用邀请和 FCM)。
这是我使用 Digits 然后使用 Firebase 进行身份验证的方式
authConfigBuilder = new AuthConfig.Builder()
.withAuthCallBack(new AuthCallback() {
@Override
public void success(DigitsSession session, String phoneNumber) {
phoneVerified(phoneNumber);
}
@Override
public void failure(DigitsException error) {
error.printStackTrace();
}
});
// on a button click
AuthConfig authConfig = authConfigBuilder.withPhoneNumber(phone).build();
Digits.authenticate(authConfig);
private void phoneVerified(String phoneNumber) {
// authenticate with firebase using a dummy email/password
String email = phoneNumber + "@domain.io"
String password = "MyDomain@123"
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(activity, task -> {
// this is never called.
}).addOnFailureListener(e -> {
// this is also never called.
e.printStackTrace();
});
}
这里的问题是,虽然用户已成功通过身份验证并且我可以在 Firebase 控制台中看到电子邮件,但既没有调用 theOnCompleteListener
也没有调用 the !OnFailedListener
值得一提的是,当我删除数字身份验证行并立即验证电话输入时,问题就消失了,一切都按预期工作。
另外,在验证电话号码后尝试清除数字会话,但没有运气!