Проверка подлинности Firebase при первом входе - PullRequest
0 голосов
/ 26 мая 2020

Я создаю приложение iOS и использую для него firebase. Итак, у меня есть несколько вопросов.

Вот мой фрагмент кода.

const metadata = auth.currentUser.metadata;
if (metadata.creationTime === metadata.lastSignInTime) {
    //this means it is a new user

    navigation.navigate('Welcome');
} else {
    // this means the user is existing already

    let lastSignInDate, currentDate;
    const lastSignInTimeUTCLocal = new Date(auth.currentUser.metadata.lastSignInTime);
    lastSignInDate = lastSignInTimeUTCLocal.getDate().toString();
    currentDate = new Date().getDate().toString();
    if (lastSignInDate === currentDate) {
      navigation.navigate('MainScreen');
    } else {
      navigation.navigate('Greeting');
    }
}

Итак, я собираюсь реализовать здесь

Если новый пользователь, приветствую screen

Если нет, показывать приветствие один раз в день, а после этого - главную страницу.

Таким образом, при втором входе в тот же день приветствие не отображается, а выполняется перенаправление на главная страница.

Я использую signInWithEmailAndPassword для входа. Но я заметил, что это изменяет lastSignInTime метаданных, поэтому они всегда перенаправляются на главную страницу.

Как я могу сделать это правильно?

1 Ответ

0 голосов
/ 26 мая 2020

Вы не сможете реализовать это только с помощью Firebase Authentication. Вам нужно будет записать некоторую информацию о поведении пользователя при входе в базу данных или другое постоянное хранилище и запросить ее, чтобы определить, что отображать на основе их предыдущего поведения.

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