 <p>In my opinion, the best way to do this is to simply use the Firebase Realtime Database:</p> <p>1) Add Firebase support to your app</p> <p>2) Select 'Anonymous authentication' so that the user doesn't have to signup or even know what you're doing. This is guaranteed to link to the currently authenticated user account and so will work across devices.</p> <p>3) Use the Realtime Database API to set a value for 'installed_date'. At launch time, simply retrieve this value and use this.</p> <p>I've done the same and it works great. I was able to test this across uninstall / re-installs and the value in the realtime database remains the same. This way your trial period works across multiple user devices. You can even version your install_date so that the app 'resets' the Trial date for each new major release.</p>