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

  • @KeithSheppard
    @KeithSheppard Жыл бұрын

    If only all tutorials were so well done. This is perfect.

  • @uroojmajid1353

    @uroojmajid1353

    9 ай бұрын

    Can u help me ?

  • @armaganrun
    @armaganrun19 күн бұрын

    Bro explained everything, thank you so much

  • @moonalie262
    @moonalie262 Жыл бұрын

    Thanks for posting this tutorial 😍

  • @ukbloke5740
    @ukbloke5740 Жыл бұрын

    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?

  • @zakblacki
    @zakblacki Жыл бұрын

    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"

  • @ivanogarcia9554
    @ivanogarcia95543 ай бұрын

    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.

  • @openmedschool3171
    @openmedschool317111 ай бұрын

    The best ever!

  • @annam5302
    @annam5302 Жыл бұрын

    What if there is no 'Pub/Sub Admin' role in Google Cloud?

  • @tuvshinturmanlaibaatar6487
    @tuvshinturmanlaibaatar64876 ай бұрын

    How can i notify payments in backend service ? Or i have to verify payments in our backend service.

  • @edilsondev
    @edilsondev8 ай бұрын

    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.

  • @brawlboy1382
    @brawlboy13822 ай бұрын

    Does constant.dart have to be included in gitignore?

  • @jemmytech5474
    @jemmytech54743 ай бұрын

    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.

  • @africulture9960
    @africulture9960 Жыл бұрын

    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.

  • @LukePighetti
    @LukePighetti4 ай бұрын

    "API Access" is not visible in Google Play Console, anyone have any ideas?

  • @abdullahchauhan

    @abdullahchauhan

    4 ай бұрын

    You can link your cloud project under "App integrity" --> "Play Integrity API".

  • @serious.194
    @serious.194 Жыл бұрын

    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

    @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)

  • @pavsoor
    @pavsoor Жыл бұрын

    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

    @thehumbleservant21

    Жыл бұрын

    @@hunteraustin4522 It will be good experience for you to go through the code and debug the issues.

  • @jaredalidjinou9908
    @jaredalidjinou9908 Жыл бұрын

    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

    @rebinu

    Жыл бұрын

    Through App Store/Google play

  • @Just_JasonZA
    @Just_JasonZA10 ай бұрын

    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

    @hanefightnow

    10 ай бұрын

    It is under "General" and then under "App Information". It has moved since.

  • @ahmedosama6373
    @ahmedosama63738 ай бұрын

    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

    @faizulla5838

    6 ай бұрын

    No 1 answers from him below , will "copy pust" video from other chanal .... rewriter

  • @LaurentiuSzabo
    @LaurentiuSzabo Жыл бұрын

    Field '_instance' should be initialized because its type 'StoreConfig' doesn't allow null. Is there a fix for that?

  • @cihan1

    @cihan1

    Жыл бұрын

    add late to prefix

  • @steveninfo2082
    @steveninfo2082 Жыл бұрын

    Hello I help set up the monthly subscription package on my flutter . I will pay for that . Thank

  • @brawlboy1382
    @brawlboy13822 ай бұрын

    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

  • @thiagomiranda6753
    @thiagomiranda67535 ай бұрын

    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)

  • @spectrum_tutorials_968
    @spectrum_tutorials_9685 ай бұрын

    how to cancel the auto renewable subscriptions?

  • @antyzzzz
    @antyzzzz7 ай бұрын

    How can we enable the user to cancel their subscription?

  • @thiagomiranda6753
    @thiagomiranda6753 Жыл бұрын

    if you want to make a new video it would be nice to add "sharedpreference"

  • @oguzbektas9719

    @oguzbektas9719

    Жыл бұрын

    or Hive

  • @Xynic48
    @Xynic483 ай бұрын

    Why you put ads on official tutorials?

  • @caualeite3537
    @caualeite353711 ай бұрын

    app specific shared secret moved to "general > app info"

  • @maroni305
    @maroni305 Жыл бұрын

    Does anyone know of any flutter iap packages that actually work?

  • @thehumbleservant21

    @thehumbleservant21

    Жыл бұрын

    RevenueCat works very well

  • @Yuraadmin
    @Yuraadmin11 ай бұрын

    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()?

  • @MikeJones3
    @MikeJones3 Жыл бұрын

    Useful links are not workign for me

  • @LucaL1fe
    @LucaL1feАй бұрын

    Yeahh skipped the last 3 Minutes. Got Rejected because i didn't have a Restore Button. Nice :)

  • @user-lm3zh7lv7q
    @user-lm3zh7lv7q11 ай бұрын

    What happens if I have multiple entitlements in my app?

  • @user-lm3zh7lv7q

    @user-lm3zh7lv7q

    11 ай бұрын

    you only provide 'premium'

  • @Nithinjith1988
    @Nithinjith19887 ай бұрын

    I want to give one month free trial for fresh users. Is it possible to set these configuration from revenuecat?

  • @alpkarky3429

    @alpkarky3429

    6 ай бұрын

    Were you able to add a free trial?

  • @SamuelMinale21
    @SamuelMinale215 ай бұрын

    Does this tutorial work well in 2024 too?? Please respond ASAP.

  • @RevenueCat

    @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

    @felixizarra8513

    4 ай бұрын

    AppStore connect has changed, would be nice to have an update or some description on how to do that. @@RevenueCat

  • @SamuelMinale21

    @SamuelMinale21

    3 ай бұрын

    @@RevenueCat Ok thanks, I will look into it.

  • @artem-ai
    @artem-ai Жыл бұрын

    Hello, please tell me in Russia there will be monthly payments?

  • @thehumbleservant21

    @thehumbleservant21

    Жыл бұрын

    Brother this is dependant on policies by Google and Apple . Maybe RevenueCat have additional information about this on their website.

  • @dev.faizan
    @dev.faizan Жыл бұрын

    are u 1Man startup ?

  • @thiagomiranda6753
    @thiagomiranda6753 Жыл бұрын

    I managed to make it work, but it took some work because it was a little outdated

  • @RevenueCat

    @RevenueCat

    Жыл бұрын

    Which steps were outdated?

  • @thiagomiranda6753

    @thiagomiranda6753

    Жыл бұрын

    @@RevenueCat null safety

  • @RevenueCat

    @RevenueCat

    Жыл бұрын

    @@thiagomiranda6753 Thanks! We'll get that updated

  • @litfiles

    @litfiles

    Жыл бұрын

    Any updates on this?

  • @awlad

    @awlad

    Жыл бұрын

    @@RevenueCat Any update on this?

  • @senor7857
    @senor785710 ай бұрын

    This tutorial is outdated, the role "Monitoring Viewer" for example, doesn't exist anymore

  • @chris_james
    @chris_james19 күн бұрын

    Biggest pain in the ass ever. Solution: Create new app with subscription, direct users towards it fixed

  • @roneicouto
    @roneicouto Жыл бұрын

    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!

Келесі