Возможно ли с помощью firebase создать пользователя на основе данных телефона или другой формы, избегая регистрации в приложении для аутентификации?

#ios #firebase #firebase-realtime-database

#iOS #firebase #firebase-realtime-database

Вопрос:

У меня есть приложение Swift для iOS, в котором я хочу избежать процесса создания аутентификации входа / регистрации для пользователя. Но при этом позволяя отдельным пользователям сохранять определенное содержимое приложения. Поэтому импровизирую форму уникального идентификатора в Firebase, чтобы получить всю сохраненную информацию, сохраненную только для этого телефона / пользователя.

Как это было бы возможно только с использованием Firebase базы данных реального времени?

Комментарии:

1. Вы можете поместить любые данные, которые вы хотите, в базу данных реального времени — ваши собственные сгенерированные идентификаторы, если хотите. Я не совсем понимаю проблему, с которой вы столкнулись здесь.

2. Как всегда иметь этот уникальный идентификатор, привязанный к этому телефону. Независимо от того, было ли приложение закрыто и открыто снова.

3. Сохраните это в локальном хранилище?

4. Это потребовало бы использования plist или core data, я искал способ зависеть только от firebase. Если нет, то да, я бы использовал локальное хранилище

5. Что, если пользователь сменит устройство?

Ответ №1:

Обычно для этого вы используете анонимный вход в Firebase Authentication. Это генерирует уникальный идентификатор при первом вызове Auth.auth().signInAnonymously() , а затем использует его для идентификации экземпляра приложения. Вы могли бы использовать это для ввода данных, которые вы храните для этого пользователя в базе данных.

Комментарии:

1. даже если пользователь закроет приложение / перезапустит телефон, сохранит ли он тот же идентификатор и сможет ли получать информацию для этого конкретного пользователя?

2. Да, UID анонимного пользователя сохраняется на диске, поэтому восстанавливается между сеансами. Он стирается, когда пользователь удаляет приложение или когда вы выходите из него.

Ответ №2:

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