1

我在将 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

值得一提的是,当我删除数字身份验证行并立即验证电话输入时,问题就消失了,一切都按预期工作。

另外,在验证电话号码后尝试清除数字会话,但没有运气!

4

0 回答 0