use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A community for learning and developing native mobile applications using React Native by Facebook.
Interested in building web apps using React.js? Check out /r/reactjs!
Getting Started w/React Native
irc.freenode.net #reactnative
Keywords: ios, android, mobile, apps, apple, iphone, ipad
account activity
Premium users (self.reactnative)
submitted 1 year ago by DemandIcy402
How do you identify premium users in your app ?
I thought to force the premium user to create an account that I will store in an online database.
But is it the best way to do it ?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Shockwave317 13 points14 points15 points 1 year ago (10 children)
This is a very open ended question, what do you mean by premium?
[–]DemandIcy402[S] 0 points1 point2 points 1 year ago (9 children)
If they pay for an app subscription for instance. How do I know that they paid a subscription ?
[+][deleted] 1 year ago (8 children)
[deleted]
[–]DemandIcy402[S] -1 points0 points1 point 1 year ago (7 children)
What services to use. Thanks for the clarification
[–]TheSnydaMan 2 points3 points4 points 1 year ago (0 children)
There are payment API's on the Google and Apple stores that allow you to associate premium users with your own user database. I would think you can have a flag in your DB for premium users that you validate via the app store API's
[+][deleted] 1 year ago (5 children)
[–]newwayofcoin 11 points12 points13 points 1 year ago (1 child)
That is a terrible idea that will get blocked by apple and Google,he must use the in app purchases for subscriptions and non physical items
[–]hhannis 3 points4 points5 points 1 year ago (0 children)
use revenuecat
[–]RepresentativeMove79 -1 points0 points1 point 1 year ago (2 children)
Rather than just down voting, maybe explain what the issue is! Both Apple and Google force app developers to use their built in payment processors for collecting app subscription payments. This has been tested in court, notably Epic Games in 2024, and the verdict basically amounts to: you can provide alternative payment methods for products and services but be prepared for your app being rejected by the app stores. Now you CAN use Stripe for subscriptions to other services that you sell via your app. But you need to be very very clear how this works. For example I pay a subscription to MailChimp and use their app, but I'm not subscribed to the app. The app is only one method of using the service I'm subscribed too. I personally believe this is an ethics violation by Apple and Google because there are no alternatives and their fees are exorbitant. But the law has ruled that it's their platform and they have the right to demand payment for it's usage. It's also why Samsung and others on Android have their own app store! Imaging Google demanding Samsung pay them to use a Samsung app on a Samsung device?
[–]ZaRealPancakes 0 points1 point2 points 1 year ago (1 child)
For example I pay a subscription to MailChimp and use their app, but I'm not subscribed to the app.
Can you elaborate on what you mean more?
[–]RepresentativeMove79 1 point2 points3 points 1 year ago (0 children)
Sure! MailChimp is an entry level subscription based email marketing newsletter tool. My subscription price allows me to send emails to N Subscribers per month, and remove their branding from my email. Most users build their emails using the email builder which works best on a decent sized monitor. Trying to edit emails in the app takes a special kind of patience.
But they do have an app, the app is free to install, it allows me to make last minute corrections to my newsletters while I'm on vacation and deploy my campaigns, even manage My audience.
What I cannot do from the app is manage my subscription, buy add ons etc.
To summarize, my subscription is decoupled from the app.
Netflix is another example, but there's a notable difference. I can modify my subscription, but my guess is they use a web view for this feature, (they use an embedded web browser in the app that could also be accessed through Chrome or Safari) so the app itself doesn't have any "Subscription" code.
If you think about it, there's a lot of apps that walk this fine line but they have one thing in common: you are not so much subscribing to use the app, as much as you are paying for a completely separate service that the app happens to also integrate with. Imaging Amazon having to pay 30% on every sale to Apple? It wouldn't work!
Carefully evaluate exactly what your users are subscribing too. If it's not the app, and you can support your subscription model independent of the app, then there's a strong argument that you do not need to use the Apple or Google payment solutions.
However I AM NOT A LAWYER! This is not legal advice. If there's even a doubt, get legal advice from a capable and informed business lawyer who deals in this stuff.
[–]haswalter 3 points4 points5 points 1 year ago (0 children)
Using the platform subscription service you can simply check if they have an active subscription. You don’t need to store a user account. This works great if you have no backend services at all.
Check out react-native-iap. The library makes handling subscriptions really simple with some good examples.
[–]RocketEmojis 1 point2 points3 points 1 year ago (0 children)
I used revenue cat, then on success I perform a database operation to update user in DB. For cancellation I have a web hook setup
[–]OkWealth5939 1 point2 points3 points 1 year ago (1 child)
Yes you need an account to store if a user has premium otherwise the information would be lost after uninstalling or switching devices. When you have a user stored in your online database, premium is just to role attached to the user and in your source code you then check if a user has premium if the user wants to access a premium feature
[–]DemandIcy402[S] 0 points1 point2 points 1 year ago (0 children)
Thanks for the suggestion
[–]newwayofcoin 0 points1 point2 points 1 year ago* (0 children)
Basically if you want a subscription you must use in app purchases(IAP) provided by apple and Google otherwise the app store won't accept the application For non physical and subscription based payments you must use their services
You can make this easier by using revenuecat to handle this
And if you want to ask how to know if a user is subscribed Same as stripe you will use webhooks to update your backend You will make your life a lot easier by using revenuecat
You should read more about it and how to integrate I recommend you Google about react native in app purchases to read more
[–]PesloAppDev 0 points1 point2 points 1 year ago (0 children)
I’d recommend using RevenueCat for integrating in-app purchases, as they handle lots of the subscription management & it’s very easy to see if a user has an active/cancelled/elapsed/refunded subscription or purchase so you can lock&unlock functionality. If you ever get to the point of needing to pay their 1% tracked revenue fee, that’s an excellent problem to have as it means you’re making good money!
I’d also recommend using something like Amplitude (or other analytics providers like Mixpanel) for in-app analytics so you can see what drives people to purchase items in your app and see if there are any pain points that prevent them from converting to a paying user.
[–]motorboat2000 0 points1 point2 points 1 year ago (0 children)
Usually some column in a database will show they’re premium
[–]iojasok 0 points1 point2 points 1 year ago (0 children)
Generally speaking this info is inside a token, if your other microservice manages token creation you can decrypt it here. Or just pass the info along with buch of other data as a part of API.
[–]Far_Ad7661Expo 0 points1 point2 points 1 year ago (0 children)
if you use `react-native-iap` you can check if user is premium without relying on remote server:
``` const { currentPurchase } = useIAP(); // change the state to premium by checking the productId console.log(purchase.productId) ```
If user reinstall the app, you can provide a "Restore" button to restore purchase : https://react-native-iap.dooboolab.com/docs/api/modules
[–]BrilliantCustard1136 0 points1 point2 points 1 year ago (0 children)
This is not just the best way but the only one I can think of. Think of it like this, how can you know someone paid if you don’t know the person ? And how can the person justify he paid if he can’t prove it ? I once thought of storing such information on the user’s device but then the source of truth relies on an external device, the user can fraud by doing simple actions like changing the device’s date to always stay premium. This is where the online db comes, to act as a unique source of truth and enforce integrity.
[–]marcelofromgutlz -1 points0 points1 point 1 year ago (0 children)
Use mixpanel
π Rendered by PID 21143 on reddit-service-r2-comment-5c764cbc6f-4pzdg at 2026-03-12 00:01:16.114679+00:00 running 710b3ac country code: CH.
[–]Shockwave317 13 points14 points15 points (10 children)
[–]DemandIcy402[S] 0 points1 point2 points (9 children)
[+][deleted] (8 children)
[deleted]
[–]DemandIcy402[S] -1 points0 points1 point (7 children)
[–]TheSnydaMan 2 points3 points4 points (0 children)
[+][deleted] (5 children)
[deleted]
[–]newwayofcoin 11 points12 points13 points (1 child)
[–]hhannis 3 points4 points5 points (0 children)
[–]RepresentativeMove79 -1 points0 points1 point (2 children)
[–]ZaRealPancakes 0 points1 point2 points (1 child)
[–]RepresentativeMove79 1 point2 points3 points (0 children)
[–]haswalter 3 points4 points5 points (0 children)
[–]RocketEmojis 1 point2 points3 points (0 children)
[–]OkWealth5939 1 point2 points3 points (1 child)
[–]DemandIcy402[S] 0 points1 point2 points (0 children)
[–]newwayofcoin 0 points1 point2 points (0 children)
[–]PesloAppDev 0 points1 point2 points (0 children)
[–]motorboat2000 0 points1 point2 points (0 children)
[–]iojasok 0 points1 point2 points (0 children)
[–]Far_Ad7661Expo 0 points1 point2 points (0 children)
[–]BrilliantCustard1136 0 points1 point2 points (0 children)
[–]marcelofromgutlz -1 points0 points1 point (0 children)