Home > Software engineering >  How to controll time indepedently from time on users phone in my firebase app?
How to controll time indepedently from time on users phone in my firebase app?

Time:11-14

I have a Flutter app where users can predict the outcome of a soccer match. The problem is that if the user changes the time on their phone they can still predict even after it has ended. How do I prevent this so that it's independent of the time on each user's phone? Thank you

CodePudding user response:

the solution is to not get the date from the local device, but get it from the firebase timestamp that it offers, as example if we say that you want to do it from now until tomorrow at the same time, you can save it to your DB, using:

Timestamp(Timestamp.now().millisecondsSinceEpoch , 24*60*60*1000)

in your case, you need to compare the Timestamp we set in the database with:

FieldValue.serverTimestamp()

also, you can get a DateTime from a Timestamp with this:

 final firestoreTimestamp = /* the Timestamp object */;
 firestoreTimestamp.toDate();

CodePudding user response:

The safest and most recommended approach for this is to use database rules. Patiently study this https://fireship.io/snippets/firestore-rules-recipes

  • Related