Flutter In-App Subscription Tutorial (iOS and Android)
Ғылым және технология
In this complete guide to setting up Flutter subscriptions, you’ll learn how to configure monthly and yearly subscriptions for a Flutter app. We’ll cover how to configure subscriptions for both iOS and Android using RevenueCat.
One huge benefit of using RevenueCat is that it acts as a single source of truth for a user subscription status. You also don’t need to worry about validating purchases or managing servers - which can become tedious and complex.
Useful Links:
Complete code on GitHub: github.com/RevenueCat/purchas...
Configure your app in App Store Connect: www.revenuecat.com/docs/ios-p...
Configure your app in Google Play Store: www.revenuecat.com/docs/andro...
Creating test user iOS: www.revenuecat.com/docs/apple...
Creating test user Android: www.revenuecat.com/docs/googl...
Chapters:
0:00 - Intro
0:27 - Project setup
2:19 - Configure RevenueCat
4:23 - Connect to App Store Connect
6:31 - Connect to Play Store
11:31 - Add Products to RevenueCat
16:33 - Testing on iOS
20:50 - Testing on Android
22:58 - Applying the sample app to your own app
30:10 - Restoring purchases
#flutter
Пікірлер: 71
If only all tutorials were so well done. This is perfect.
@uroojmajid1353
9 ай бұрын
Can u help me ?
Bro explained everything, thank you so much
Thanks for posting this tutorial 😍
Is 'restore purchases' actually relevant to subscriptions or just 'consumables' ? The app stores will know who I am by my identity and will track my subscription accordingly but they won't know if I've spent (for example) in-app currency?
Is it mandatory to fill out agreements tax and banking for paid apps in order to use IAP? I mean does the status has to be "active"
Thanks for your video. I have an issue when I’m trying to test in a physical iPhone. I’m getting a gray screen. I read that it’s possible because the subscription created in the apple is not approved. But my problem is that Apple can approve my subscription because when they are testing the app the gray screen is visible. Do you have any idea how I can fix or what’s the correct flow. Thanks a lot for your support.
The best ever!
What if there is no 'Pub/Sub Admin' role in Google Cloud?
How can i notify payments in backend service ? Or i have to verify payments in our backend service.
Can see anything in "API Access" with account owner. It seems outdated. "The API access page has gone away" "Use Google Play Developer API to publish and manage your apps ...." when trying importing we get: We even have gone to user and permission directly and setup the permission for our user created related the credentials JSON mentioned before.
Does constant.dart have to be included in gitignore?
Hello! Sir we have two subscriptions in a single group. We give app user id as we have login system. So the issue is that it is working well but we need the following: 1. User want to upgrade from PRO to ELITE within the app. mean changing subscription plans within the app. Please guide me how to do it.
I created an account with Revenuecat and configured my app for in-app subscription. Months later I couldn't login to my Revenuecat. So I created another and configured the same app, but I am having invalid credential error and I have also tried all the possible solutions. Please I need help.
"API Access" is not visible in Google Play Console, anyone have any ideas?
@abdullahchauhan
4 ай бұрын
You can link your cloud project under "App integrity" --> "Play Integrity API".
Hi, I configured revenuecat, wrote the code, and tested it on the simulator, and real device and everything is working fine. But when I uploaded the build to test flight to test, I started getting empty offerings. Why is that? Do I need to follow some additional steps for prod build?
@edilsondev
10 ай бұрын
You might have to sign paid app agreement (apple). No need for any build to be sent to review (just fully configured, status ready to submit in each subscription)
Unless I'm mistaken, the sample project has old code which is not null safe, and quite long winded trying to use. I was expecting from a video 3 months ago, that the sample project would be updated code!
@thehumbleservant21
Жыл бұрын
@@hunteraustin4522 It will be good experience for you to go through the code and debug the issues.
Hi. When users payed their subscription or realised one time payments, how is it possible to configure a transfer of the ammount to a bank account such like stripe or others solutions do.
@rebinu
Жыл бұрын
Through App Store/Google play
Thank you for this, but a lot of the data discussed in this have changed, Appstore no longer have the option for app specific shared secret in plain sight and I can't find it.
@hanefightnow
10 ай бұрын
It is under "General" and then under "App Information". It has moved since.
What happens if a user wants to change their subscription to yearly instead of monthly for example ? Would the old subscription be cancelled in favor of the new one or not ?
@faizulla5838
6 ай бұрын
No 1 answers from him below , will "copy pust" video from other chanal .... rewriter
Field '_instance' should be initialized because its type 'StoreConfig' doesn't allow null. Is there a fix for that?
@cihan1
Жыл бұрын
add late to prefix
Hello I help set up the monthly subscription package on my flutter . I will pay for that . Thank
In real life, we don't need logging in/out, do we? We just choose a subscription package and pay for it. I don't understand it
In my app, in the subscription options, the name of the App is displayed, does anyone know how to remove it? Premium Month (Magic Weather Premium) Premium Year (Magic Weather Premium)
how to cancel the auto renewable subscriptions?
How can we enable the user to cancel their subscription?
if you want to make a new video it would be nice to add "sharedpreference"
@oguzbektas9719
Жыл бұрын
or Hive
Why you put ads on official tutorials?
app specific shared secret moved to "general > app info"
Does anyone know of any flutter iap packages that actually work?
@thehumbleservant21
Жыл бұрын
RevenueCat works very well
Tell me, can I transfer purchases to another device without logging in ('Enter App User ID')? If yes, what is better use (Flutter) on a new device, Purchases.restorePurchases() or Purchases.restoreTransactions()?
Useful links are not workign for me
Yeahh skipped the last 3 Minutes. Got Rejected because i didn't have a Restore Button. Nice :)
What happens if I have multiple entitlements in my app?
@user-lm3zh7lv7q
11 ай бұрын
you only provide 'premium'
I want to give one month free trial for fresh users. Is it possible to set these configuration from revenuecat?
@alpkarky3429
6 ай бұрын
Were you able to add a free trial?
Does this tutorial work well in 2024 too?? Please respond ASAP.
@RevenueCat
4 ай бұрын
It should still be accurate, although we now support RevenueCat Paywalls in Flutter which makes this even easier. The RevenueCat docs will reflect the most up to date information www.revenuecat.com/docs/getting-started/installation/flutter
@felixizarra8513
4 ай бұрын
AppStore connect has changed, would be nice to have an update or some description on how to do that. @@RevenueCat
@SamuelMinale21
3 ай бұрын
@@RevenueCat Ok thanks, I will look into it.
Hello, please tell me in Russia there will be monthly payments?
@thehumbleservant21
Жыл бұрын
Brother this is dependant on policies by Google and Apple . Maybe RevenueCat have additional information about this on their website.
are u 1Man startup ?
I managed to make it work, but it took some work because it was a little outdated
@RevenueCat
Жыл бұрын
Which steps were outdated?
@thiagomiranda6753
Жыл бұрын
@@RevenueCat null safety
@RevenueCat
Жыл бұрын
@@thiagomiranda6753 Thanks! We'll get that updated
@litfiles
Жыл бұрын
Any updates on this?
@awlad
Жыл бұрын
@@RevenueCat Any update on this?
This tutorial is outdated, the role "Monitoring Viewer" for example, doesn't exist anymore
Biggest pain in the ass ever. Solution: Create new app with subscription, direct users towards it fixed
In kzread.info/dash/bejne/ZWWhr5qoqqrfdZs.html my offerings.current is always : The non-nullable local variable 'offerings' must be assigned before it can be used. Try giving it an initializer expression, or ensure that it's assigned on every execution path. And in my offerings.current : The non-nullable local variable 'offerings' must be assigned before it can be used. Try giving it an initializer expression, or ensure that it's assigned on every execution path.dartnot_assigned_potentially_non_nullable_local_variable The argument type 'Offering?' can't be assigned to the parameter type 'Offering'.dartargument_type_not_assignable Someone can help , please ? I'm stucked!