Trial application

how to put a test period in an application, or disable the application after a date period

Easy way for me. Use Firebase Database store some value. Next get the tag value and if value it’s not empty or equal to x your app continue. If the tag don’t exist or the value is not equal to x show notifer with message trial period finish and close you app.
When you decide that the trial period is over change the value of the tag or delete the tag of Firebase Database.

I use tinydb, I didn’t understand when I’m going to use this tag value. I want to leave the app running for 15 days, after that the message appears that the trial period is over … and the app closes

if u use tiny DB, users can do one trick, clear the data and cache of the app… and then they use again the trial period,try to use the firebase database,

for a tag

store a tag according to their device id like… IP address, serial number, IMEI. In this case, even they try to uninstall or reinstall the app, or even clearing the data method, they will still on a trial period detected or whatever you want to do for the rest.

for a value

Yes this is absolutely correct.

1 Like

Sorry i’m forgot mention if the device don’t have internet connection you need to config this for you app can’t read the Firebase Database Tag.
This Firebase Database guide by @Chirubot i’m shure help you to implement Firebase Database in your app

Edit

Don’t need to store any IP, serial number, IMEI or Login
The access to the app is for all user. Only use my suggestion and when trial period expired delete or change the Tag Value of Firebase Database.

Loss connection? use network tools, Use undying loop of progress dialog… Then when app suddenly detect an internet from it’s previous loss of connection, create a switch with variables and restart the app. And done…

This will work is you want to expire your “app” not the “user account”, then use single tag for all users…

This will work if you want to expired “users account” not the “app” itself

Hope it helps

and if you make a logic in the blocks … in the initialization of screen1, a label is determined, “I put a data in the label”, for equal to or greater than a label with system data then false button1 …