How to Monetize Your Flutter App: Ads, In-App Purchases, and Subscriptions

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2024

Комментарии • 137

  • @fatpen9731
    @fatpen9731 Год назад +11

    Thank you so much for giving this for free to the community, you will save a lot of time for so many devs. I hope you start making more Flutter content

    • @1ManStartup
      @1ManStartup  Год назад +2

      More flutter content will be coming soon!

  • @NoOne-vz2pb
    @NoOne-vz2pb 11 месяцев назад +3

    Ah, man..can't thank you enough. Well made, in depth tutorial for BOTH ios and android..thank you, thank you

    • @1ManStartup
      @1ManStartup  11 месяцев назад +1

      You're welcome, glad you're finding it useful!

  • @RahulPradipPatil
    @RahulPradipPatil Год назад +9

    This is Pure Gold :)
    Thank you so much..

  • @rasmustchristensen
    @rasmustchristensen Год назад +3

    Thank you for making this available

  • @speakup8721
    @speakup8721 3 месяца назад

    This tutorial saved me. Super loaded. I wish i can subscribe a thousand times. God bless you sir

  • @cookiigames
    @cookiigames Месяц назад

    Wow, that was intense to watch thank you very much!

  • @imadedinchikh5490
    @imadedinchikh5490 3 дня назад

    This is Gold ... thanks brother you helped me a lot

  • @ergi5664
    @ergi5664 Год назад

    My fav flutter dev 😇,Greetings from Albania

  • @zeroomprods
    @zeroomprods Год назад

    Thanks dude. You match my vibe probably I would start working on my previous abandoned project ABCD Game. I learnt lots from your previous playlist I appreciate you putting this playlist on youtube.

    • @1ManStartup
      @1ManStartup  11 месяцев назад +1

      Nice I remember your game, hopefully this can help you make some $$ from it!

  • @alexl150
    @alexl150 Год назад

    First of all this is some great stuff, this is exactly what I needed.
    Second, I haven't tried on a simulator, but build for Mac and you can complete in app purchases instead of loading onto a physical phone.

    • @1ManStartup
      @1ManStartup  Год назад

      Good to hear, that will be useful for others testing.

  • @uberjoe-08
    @uberjoe-08 10 месяцев назад

    this is the best video on youtube , thank you so much

  • @mechul419
    @mechul419 11 месяцев назад

    I did not watch yet but I will use these informations today. Thank you !

  • @Sobitandra
    @Sobitandra 11 месяцев назад

    You are really doing a great thing.
    Thanks for such content.

  • @nikhilkukreja8498
    @nikhilkukreja8498 Год назад +1

    Thank you so much ❤

  • @berkay.ertugrul
    @berkay.ertugrul Год назад

    what a great content, tnx a lot 🙌

  • @Inandoutpk
    @Inandoutpk 10 месяцев назад

    Thank you so much, Sir ❤❤❤

  • @carloscampos7709
    @carloscampos7709 11 месяцев назад

    Great tutorial! Thanks a lot

  • @how.to.learn.English
    @how.to.learn.English 9 месяцев назад

    Thank you!

  • @RamdanCode
    @RamdanCode 10 месяцев назад

    "Thank you so much for this incredibly insightful tutorial! 🚀 Your step-by-step guide on monetizing Flutter apps with ads, in-app purchases, and subscriptions is a game-changer. The clarity in your explanations and the practical examples make the learning process smooth and enjoyable. 🌟 I appreciate the effort you put into breaking down the complexities, truly catering to both beginners and those looking to enhance their skills. Your expertise shines through, and I'm excited to implement these strategies in my Flutter projects. Kudos to you and your fantastic channel! 👏🎉 #FlutterMonetizationMastery"

  • @ialh1
    @ialh1 6 месяцев назад

    Thank you. it is very useful.

  • @sergiosandoval3821
    @sergiosandoval3821 6 месяцев назад

    Thank you, is awesome!!!!

  • @tuyennguyen-bi3dn
    @tuyennguyen-bi3dn 10 месяцев назад

    thank for the great video. when I buy a consumer product, Does Apple send notification to my server?

    • @1ManStartup
      @1ManStartup  10 месяцев назад

      Yes, the setup for that is covered in part 4

  • @prandev490
    @prandev490 10 месяцев назад

    Thank you! Flutter Jesus.

  • @DavideBelardi
    @DavideBelardi Месяц назад

    First of all, very nice guide and everything is so useful to setup IAP in flutter app! very very nice.
    I have a question : When I setup all the necessary for test how can I do purchases in enviroment production? sorry for the "useless" question, but I wish to know if App store connect do the job changing automatically when on the Store or what else?
    PS: I'm not using firebase because I have setup another BackEnd

    • @1ManStartup
      @1ManStartup  Месяц назад +1

      It will happen automatically when it's actually deployed. If you run the app through TestFlight it'll still be the test version and allow all purchases to happen without actual payment.
      Once it's live on the app store, it'll only ever allow real payments, is that what you mean?

    • @DavideBelardi
      @DavideBelardi Месяц назад

      @@1ManStartup yes, that's what I mean. Thanks a lot for your answer and very great job for the guide. I love it.

    • @DavideBelardi
      @DavideBelardi 20 дней назад

      @@1ManStartup man I released as you said but in the testflight version it works very well but in Store doesn't show any purchase to do in list.. I should wait or something to check that you could provide me to check if it everything is fine? Thanks and sorry for bothering you

    • @1ManStartup
      @1ManStartup  20 дней назад

      @@DavideBelardi I don't have a good answer, if it was working in testflight it should also work in production.
      Maybe there would be a slight delay but no more than a few minutes. Do you get any errors and are the purchases approved in App Store Connect?

    • @DavideBelardi
      @DavideBelardi 20 дней назад

      @@1ManStartup ok, on the Internet they talk about 24h to 48 hours to wait the approval of the In-App purchase item on store. Maybe is about the approval because I have missed metadata, it can be this one the reason

  • @numicorn_app
    @numicorn_app 10 месяцев назад

    Hello sir, I have made the storekit settings, but it keeps sending me to the payment receiving screen, I keep making payments again.

    • @1ManStartup
      @1ManStartup  10 месяцев назад +1

      So you are seeing the paywall & are able to make the payment for the subscription? If that's the case, and you're then still seeing the paywall, either you aren't updating your database (firebase in the video) with the new subscription, or you aren't listening/ checking the subscription status in the app

    • @numicorn_app
      @numicorn_app 10 месяцев назад

      Thank you, once I launched the app with Xcode the payment process issue was resolved. How can I check whether monthly subscription users are making regular payments every month?@@1ManStartup

  • @ProgrammingWithFlexZ
    @ProgrammingWithFlexZ Месяц назад

    ❤‍🔥❤‍🔥❤‍🔥❤‍🔥

  • @Afaq-j3s
    @Afaq-j3s 11 месяцев назад

    hi brother that's every thing is just incredible thanks a-lot great effort but i have question in IOS i implemented everything works fine on testing with storekit. but now i uploaded my app on test flight and products are not coming. I think the issue is might be agreement and bank details. After accepting and adding that the products will come on test flight? please let me correct if any other thing require for that?

    • @1ManStartup
      @1ManStartup  11 месяцев назад

      Yes the agreements and banking are most likely your issue, I know the agreement needs to be accepted to have the In app purchases setup completely.

  • @IshaManiTripathi
    @IshaManiTripathi 11 месяцев назад +1

    Hey, Actually in my apple developer account, in In App Purchases, I have only 2 options Consumable and Non-Consumable but you have Auto renewable and non renewable subscriptions, why so? Please help.

    • @1ManStartup
      @1ManStartup  11 месяцев назад +2

      App Store Connect has been updated and now there is In-App Purchases tab for all non subscription purchases (which you are referring to). Now subscriptions, both auto and non renewable are in the tab Subscriptions.
      Other than the separate tab the rest seems to be about the same.

  • @바오-c3p
    @바오-c3p 9 месяцев назад

    Hello! I'm really thankful for your lecture! At the 4:07:53 mark, it shows me "There are no upgrades at this time," even though I've definitely updated it on App Store Connect (I've already released the app before). Is there any point that I might have missed? It does say "Drafts"...

    • @1ManStartup
      @1ManStartup  8 месяцев назад

      Have you tried testing on a physical device? What is saying "Drafts". The no upgrades is meant to show if the product ids you define in the app can't be found in the stores.

    • @바오-c3p
      @바오-c3p 8 месяцев назад

      @@1ManStartup I just got it! thank you! could I ask you? do you think it's worth using Revenuecat? I don't know if I will decide which one. thank you!

    • @MarcosVinicius-jm8bt
      @MarcosVinicius-jm8bt 2 месяца назад

      Same problem here, did you manage to solve it?

  • @echofloripa
    @echofloripa 11 месяцев назад

    I noticed that the Google mobile ads package on the video is from 2021, so my questions is if how much of this is still valid for admob and also for flutter.

    • @1ManStartup
      @1ManStartup  11 месяцев назад +1

      There are some differences, you can view the change log here. The video uses version 0.13.4 pub.dev/packages/google_mobile_ads/changelog
      This is still the package I would recommend using today to add Google ads to an app.

    • @echofloripa
      @echofloripa 11 месяцев назад

      @@1ManStartup sure, it's the official Google package for admob I guess.

  • @jackanderson300
    @jackanderson300 8 месяцев назад

    Sir Thanks for this cool video,Need one suggestion
    In my app their is consumable products .When app uninstall it cant be restore.So how to manage this with our server?
    like once user buy consumable product then we will update that with our server and when user install app again and do login then we will get that consumable product using user_id.
    Is it correct way for consumable product?Please help.

    • @1ManStartup
      @1ManStartup  8 месяцев назад

      Yes that's the way to do it, which is what's shown in the video

  • @manojperumarath7570
    @manojperumarath7570 5 месяцев назад

    Since we are not passing user id in flutter code, how does backend script knows the user id of the current subscribing user?

    • @1ManStartup
      @1ManStartup  5 месяцев назад

      That should all be explained starting at 6:16:48

  • @arunkashyap3527
    @arunkashyap3527 7 месяцев назад

    Hello sir i am showing banner ad in my app in the bottomnavigation bar but in my app there is a drawer which have items and when user clicks on that then it navigates the user to specific tab view in home screen and in home i am showing banner ad in bottom navigation bar but it shows a errror like adwidget is already in state

    • @1ManStartup
      @1ManStartup  7 месяцев назад

      It sounds like you are trying to load a banner ad when one is already loaded?

  • @yap9660
    @yap9660 5 месяцев назад

    would it possible to have dynamic pricing for the in-app purchases? As I have a service which it has different pricing depending on the selection of the user

    • @1ManStartup
      @1ManStartup  5 месяцев назад

      Yes this should be possible, I haven't set this up myself but the first thought that comes to mind is to have several different products which have the different prices. For example premium_99 premium_299 - then you can filter out the products based on the business logic around which price you want to show.
      Likely there are better ways, this is just a first thought.

    • @yap9660
      @yap9660 4 месяца назад

      @@1ManStartup Thank you for your reply.
      Considering that I have multiple selection. For example I have multiple categories:
      1) 0 - 100 km
      2) 1day to 100 days
      Selection 1 and 2 are highly dependent, based on the distance and the duration of the selection, we will have dynamic pricing. This mean I will need to create more product on the playstore.
      I have tried to use 3 product, base-product, distance, and duration, and increment the count of the quantity when offering to user. But apparently the packages only allow to select one product at a time. This is causing some trouble.

    • @1ManStartup
      @1ManStartup  4 месяца назад

      @@yap9660 my thinking would still be to create a product for each specific potential outcome. Then maybe you have 10 product ids, in the app's logic the user will make selections which always narrow it down to one id.

    • @1ManStartup
      @1ManStartup  4 месяца назад

      Or simplify the pricing structure, if it's a subscription charging monthly or yearly is more typical than letting the user select an amount of days.

    • @yap9660
      @yap9660 4 месяца назад

      @@1ManStartup Thanks you for your recommendation. It is very helpful

  • @Inandoutpk
    @Inandoutpk 10 месяцев назад

    Thanks Again Sir, Can you answer my question please, So I’m building an app and the app data is stored locally in sqflite for which I didn’t needed a remote db.
    But now as I need to implement IAP to implement premium vs free access to the app in which I need to hide some functionalities for free user.
    For that I see that I need to connect app with Firebase and use annunymous auth . For keeping track of free and paid user.
    My question is here for my app functionality internet is not necessary but no as I’m dependednt on Firebase for checking IAP purchases to decide if user is free or paid.
    Is that soo? Or can Implement some mechanism to check for free vs paid user without internet by storing user payement status locally ??? Please guide me
    (purchase is NON-CONSUMABLE)

    • @1ManStartup
      @1ManStartup  10 месяцев назад

      Firstly, it will not be possible to make an in-app purchase without internet. So you app will need an internet connection to make successful purchases.
      However, you don't necessarily need to use firebase or even a backend for that matter. You can instead rely on the "restore purchase" feature.
      If you went that route, it'll be harder to confirm that a user actually purchased the product because you wouldn't have a backend to confirm the purchases. But if you don't really care about that then you could have them make the purchase on device & save a status locally. Then later if they redownload the app or use a different device they can use the restore purchase feature from google/apple which you would then need to handle the update locally.
      I wouldn't really recommend this, but it's an option. Alternatively, you can also look at RevenueCat which could handle the backend/ purchase confirmation for you.

    • @Inandoutpk
      @Inandoutpk 10 месяцев назад

      @@1ManStartup
      Firstly thank you so much for replying Sir, It means a lot !!! ❤️
      And I think I’ll go without using Firebase and any remote db as when a user make purchase I’ll store the flag locally and will retriev it to give access to him for paid features
      And when he changes devices he can then use restore which will again saves his paid flag in locally.I think it’s better for now.
      AndI wanted to know is this matter really serious to confirm purchases for this app. As it’s not that much big app. Just small app with some audio content like 20 files with 2,3 test that user takes.

    • @1ManStartup
      @1ManStartup  10 месяцев назад

      @@Inandoutpk Yes that's a good idea, you can always switch to the remote db later if you decided to, and basically use your local one as an offline cache.
      The matter isn't too serious, the worst thing that'll happen is someone can set their version of the app to have the premium feature without paying for it. It's kind of unlikely people will do this, but just know that an on device database can always be changed by the user if they know how. BUT 99.9% won't know how.

    • @Inandoutpk
      @Inandoutpk 10 месяцев назад

      @@1ManStartup yeah, that’s why I have used Clean Architecture because I know the client will later ask for Remote db for storing user data,later
      They just don’t want that now.
      And thanks for your knowledgeable answers.
      I’m turning on notifications for this channel now. :))

  • @IshaManiTripathi
    @IshaManiTripathi 10 месяцев назад

    Hii, can you please tell me in the developer account of app store connect where I can see the total no of subscription transaction being processed each month and related details? I have gone through some answers but I can't find that sales and trends screen and other sub folders

    • @1ManStartup
      @1ManStartup  10 месяцев назад

      In App Store Connect you can see the subscriptions under state in the Subscriptions trends tab. appstoreconnect.apple.com/trends/states
      There is also the Summary and Retention with subscription specific info

  • @Martial_Monkam
    @Martial_Monkam 9 месяцев назад

    Hello I am coding an application and I have to submit the user to a subscription, my question is how to check the status of the user when he logs in and direct him to a free user screen otherwise see a screen of premuim user.

    • @1ManStartup
      @1ManStartup  9 месяцев назад

      The video shows basically how you can do this except instead of showing a different screen it's showing a different widget.
      But if your keeping track of the user's subscription status on your backend database then you'd simply check that value when the user logs in and show the different screen based on that value.

    • @Martial_Monkam
      @Martial_Monkam 9 месяцев назад

      I'm using Firebase in backend my question is how to see or get the subscription status of a user when they log in.

  • @IshaManiTripathi
    @IshaManiTripathi 8 месяцев назад

    Hii, actually I have updated the cost of a subscription in app store, and in my debug built it shows the updated amount but when I run the live app from app store it shows the previous amount of the subscription in the pop up which comes from apple but in app it shows the updated amount and also when I pay the updated amount is deducted from my account but the pop up from apple which has subscribe button shows the previous amount only.. why is it happening?

    • @1ManStartup
      @1ManStartup  8 месяцев назад

      I'm not sure, that doesn't make sense. If your pulling the price from apple and it's showing correctly in some areas but not all, I'd check to make sure you're not hard coding the price. Alternatively, if you just updated it maybe there is a small delay in Apple updating the price, but that seems less likely.

  • @tananga_studio
    @tananga_studio Месяц назад

    Hello :) Do you know how to run ads on web?

    • @1ManStartup
      @1ManStartup  Месяц назад +1

      For web you could use google AdSense, I haven't used it myself but I believe they give you a script you embed on your site. If you're site gets a lot of traffic 50k+ monthly sessions I hear other ad networks like Mediavine pay higher CPMs.
      Is this for flutter web or a different type of website?

    • @tananga_studio
      @tananga_studio Месяц назад

      @@1ManStartup of course Flutter :)

  • @hamedabbasi955
    @hamedabbasi955 6 месяцев назад

    I can not return the previously purchased subscription in ios

    • @1ManStartup
      @1ManStartup  6 месяцев назад

      Make sure you have setup the purchases in App Store Connect and make sure the app is linked to the app store connect correctly.
      Are you able to make purchases in the first place?
      Do you see any specific errors?

  • @PrinalPatel-i9s
    @PrinalPatel-i9s 8 месяцев назад

    hi im getting xcode environment instead of sandbox why so please help

    • @1ManStartup
      @1ManStartup  8 месяцев назад

      Have you setup Store kit I think that's what your referring to 4:16:58

  • @CarpeNoctem-y3m
    @CarpeNoctem-y3m 11 месяцев назад

    hey, what about his error could not verify the purchase because of error GaxiosError: Your request is invalid for this subscription purchase.? Help please

    • @CarpeNoctem-y3m
      @CarpeNoctem-y3m 11 месяцев назад

      status 400 bad state

    • @1ManStartup
      @1ManStartup  11 месяцев назад

      This probably means the request data your sending is incorrect. What is throwing the error? Might be as simple as your auth tokens are expired.

    • @CarpeNoctem-y3m
      @CarpeNoctem-y3m 11 месяцев назад

      @@1ManStartup
      message: 'Your request is invalid for this subscription purchase.',
      domain: 'androidpublisher',
      reason: 'subscriptionInvalidArgument'
      status 400. I tried with real device and simulator both.

    • @CarpeNoctem-y3m
      @CarpeNoctem-y3m 11 месяцев назад

      @@1ManStartup at Gaxios._request (/workspace/node_modules/gaxios/build/src/gaxios.js:129:23)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      at async JWT.requestAsync (/workspace/node_modules/google-auth-library/build/src/auth/oauth2client.js:368:18)
      async GooglePlayPurchaseHandler.handleSubscription (/workspace/lib/google-play.purchase-handler.js:76:30)
      async /workspace/lib/google-play.purchase-handler.js:59:21 {

  • @afnan9108
    @afnan9108 Год назад

    storekit_duplicate_product_object, There is a pending transaction for the same product identifier
    What is the reason for this error

    • @1ManStartup
      @1ManStartup  11 месяцев назад

      It could be that you're trying to create 2 products with the same product id. The product Ids have to be unique. When/ where are you seeing the error?

    • @afnan9108
      @afnan9108 11 месяцев назад

      android works fine but in ios when i make restrore purchase my purchases gets looped and if i make a purchase again i get duplicate error@@1ManStartup

    • @1ManStartup
      @1ManStartup  11 месяцев назад

      @afnan9108 Sorry for the delay I didn't get notified about this comment. Are you having a similar issue to what's happening around 4:50:00 in the video?

  • @mohfatkurrozi4069
    @mohfatkurrozi4069 6 месяцев назад

    Please update with new videos

    • @1ManStartup
      @1ManStartup  6 месяцев назад

      I don't have plans to make an updated series, if you have specific issues comment and I or someone maybe able to help

    • @mohfatkurrozi4069
      @mohfatkurrozi4069 6 месяцев назад

      on listenUpdatePurchased on vlaue serverVerification is base64 or any?

  • @antoniofuller2331
    @antoniofuller2331 2 месяца назад

    Hmmm

  • @CarpeNoctem-y3m
    @CarpeNoctem-y3m 11 месяцев назад

    Thanks for hating nodejs and otherjss early :D

    • @1ManStartup
      @1ManStartup  11 месяцев назад

      🤣

    • @CarpeNoctem-y3m
      @CarpeNoctem-y3m 11 месяцев назад

      @@1ManStartup My functions does not change or create anything on firestore database please help

    • @1ManStartup
      @1ManStartup  11 месяцев назад

      @@CarpeNoctem-y3m Which functions? what part of the video are you at? Have you looked at the linked code in the description as a reference?

    • @CarpeNoctem-y3m
      @CarpeNoctem-y3m 11 месяцев назад

      @@1ManStartup I did all functions and verify is working but others are not working. I think problem is that I did not use provider to read?

    • @CarpeNoctem-y3m
      @CarpeNoctem-y3m 11 месяцев назад

      @@1ManStartup
      I/zygote ( 4534): Do partial code cache collection, code=122KB, data=90KB
      I/zygote ( 4534): After code cache collection, code=122KB, data=90KB
      I/zygote ( 4534): Increasing code cache capacity to 512KB
      I/flutter ( 4534): Called verify purchase with following result Instance of 'HttpsCallableResult'
      I/flutter ( 4534): Purchase marked complete
      but does not create my collection

  • @ialh1
    @ialh1 6 месяцев назад +1

    Thanks!