Электронная почта проверки Firebase существует (альтернатива fetchProvidersForEmail) - PullRequest
0 голосов
/ 03 мая 2018

метод fetchProvidersForEmail устарел. Но на сайте Firebase я не могу найти альтернативу, поэтому я должен спросить вас. Надеюсь, вы можете помочь.

Я хочу проверить, если электронная почта еще не в базе данных, вот старый код для этого.

  Auth.fetchProvidersForEmail(Email.getText().toString()).addOnCompleteListener(new OnCompleteListener<ProviderQueryResult>() {
@Override
public void onComplete(@NonNull Task<ProviderQueryResult> task) {

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Как сказано в документации для fetchProvidersForEmail:

fetchProvidersForEmail(String email)

Этот метод устарел. Этот метод переименован для функциональной ясности - пожалуйста, используйте метод fetchSignInMethodsForEmail(String).

Если для электронной почты не существует учетной записи, SignInMethodQueryResult. getSignInMethods() вернет пустой список.

0 голосов
/ 03 мая 2018

Если вы хотите проверить, существует ли электронная почта, это то же самое, если вы проверите, входит ли пользователь в первый раз. Таким образом, чтобы достичь этого, вы можете просто вызвать метод isNewUser() в обратном вызове OnCompleteListener.onComplete следующим образом:

OnCompleteListener<AuthResult> completeListener = new OnCompleteListener<AuthResult>() {
    @Override
    public void onComplete(@NonNull Task<AuthResult> task) {
        if (task.isSuccessful()) {
            boolean isNewUser = task.getResult().getAdditionalUserInfo().isNewUser();
            if (isNewUser) {
                Log.d("TAG", "Is New User!");
            } else {
                Log.d("TAG", "Is Old User!");
            }
        }
    }
};

Для получения дополнительной информации см. Официальный документ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...