Detecting a reinstall after uninstalling the mobile app

Hello,

I will soon develop my first mobile app with Bubble and I’m trying to understand how device detection works, and what’s feasible or not AFTER a reinstall.

My end-result goal is to avoid as much as possible people taking advantage of a trial period and reinstalling the app again and again.

  1. Can I detect in any way a hardware unique ID?
  2. If the app is installed and then uninstalled, are they some data that can REMAIN on the phone until next install?

What is the best practice for this use case?

Best to y’all.

Because of the privacy changes with IOS/android it’s harder, but with a regular native app you can still detect this with keystore/keychains.

I have a Bubble app I’m putting live this weekend (finally lol) where they sign up with their phone number and get a 6-digit code. I can tell if they’ve used the number before, and it will block the trial.

Also, if you require them to use a credit card to sign up for a free trial, you can block any other trial attempts with the same card.

It’s harder for them to keep getting new numbers (if you don’t accept VoIP numbers), and obviously hard for them to have multiple cards that pass.

Wouldn’t it be easier to require a login and password? After all, the device is sometimes used by more than one family member and, in many cases, passed on to someone else (or sold).

Why block the device itself? Or the number?

You could…

but I mean, I can sit here and do 10 Gmail email accounts in a few minutes.

Usually, even if there is more than one person in a household, they each have their own cell phone. At least here in the US, it’s normal.

I use the phone and code because it’s easier for users and is what’s expected these days. If they use email and have to verify it, it’s a lot more steps, and a phone number is unique to that person.

Each their own.

I mean, usually with a free trial you’re limited to what you can actually do, and if you want more, you go ahead and subscribe.

It’s not uncommon these days for someone to use their free trial and then get offered another free trial or a $1 trial for a month or whatever.

Thanks for your answers.

Let’s call it a “VIP pass”, I guess it is more clear to understand the concept. Each person getting the app gets 2 usage of the VIP pass (show it at a restaurant for % discount, show it at the bar for free glass, show it at the tourist center for X benefit etc…) , and then it’s a paid subscription.

So, I need a way to prevent geniusses from simply creating an acount everyday with a different mail address, or an alias of en email address.

I can validate the phone number, it’s true that this is a very common practice. Ok, I might end up doing that as I believe there is no way to confidently identify a hardware.

Yes, this is a good way.

Long story short, without going into a lot of details…

IF, you did track the device like the IMEI, your app would get pulled from the stores. That is a huge privacy concern with Apple and Android.

You could use a keychain ID for Apple, but I can almost guarantee you that you can’t do it with Bubble’s native app builder. I haven’t tried the app builder, though. You probably could build a keychain with a wrapper.

So, most apps track the user.

You can use Twilio’s API for phone. I will say though they are probably one of the most expensive services. You would spend approximately a little under $70 for each 1000 signups.

You could try Telnyx, and it’s somewhere around $10 per thousand.

I use Firebase Auth on a couple of apps. It comes down to about .01 per sms.

Good luck with your app. I hope things go well for you :slightly_smiling_face:

Added: With Firebase, you do need to have bot protection, etc.

Another add: Just wanted to say that the approximate costs I gave are U.S. based. Not sure where you’re located, but you can look up your costs based on your location.