Vincent Wittek
Vincent Wittek

Reputation: 53

Is there a way to save data from users without registration in Flutter?

I am currently building a Flutter app which lets users do personality tests, and until now I planned to do it without forcing users to register an account via Firebase (as this is annoying for many users).

Problem I am facing now is that I need the results from the tests from the users, so that I can tell the users in the result section how these results are compared to the average of all people who have done the test.

If a user would now register, the test results would be saved locally on the device. Will it then still be possible to save the test results in a online database?

Upvotes: 0

Views: 971

Answers (1)

Dharmaraj
Dharmaraj

Reputation: 50900

If you don't want to force users to sign in but still need to differentiate between them, you can use Firebase Anonymous Authentication which will create a user account in Firebase and return a UID similar to any other auth method. A new anonymous authentication can be created by using signInAnonymously() method:

UserCredential userCredential = await FirebaseAuth.instance.signInAnonymously();

As you get a unique UID for each user, you can then store data in database itself instead of storing locally. If the user proceeds with registration, you can convert this anonymous account to a permanent account using linkWithCredential method. The UID of user remains the same.


Do note that if the user logs out of the anonymous account, then there is no way to retrieve that same anonymous account back.

Upvotes: 4

Related Questions