Moved from: https://github.com/expo/expo/issues/11
Add support for in app purchases to standalone apps on iOS and Android
👋 I know this has been asked multiple times in this thread, but is there any timeline for in-app using the managed workflow? We need to make some decisions about our revenue model, and would prefer to go with subscriptions for our app. We took a shot at ejecting and ran into other problems due to modules we were using that are only available in a managed workflow. Any feedback would be appreciated!
Expo would 🚀 if in-app were available! Thank you all!
This doesn't really solve the problem if you still have to eject your Expo app. I'm almost done with a managed workflow Expo app and thinking about making it free to start with and adding in-app purchases later on. Can you give an estimate on when this can be used in the managed workflow? Will it be weeks? Months? A year?
@Holger Sindbaek: https://expo.canny.io/feature-requests/p/in-app-purchase-within-expo
*InAppPurchase mechanism WITHIN Expo, not requiring eject/bare workflow*. I started a new feature request asking for this specifically: https://expo.canny.io/feature-requests/p/in-app-purchase-within-expo For now. it seems more helpful to comment here, and to ask what the longer-term intent of this module is. I hope that you could comment further on the intent of this module. From our perspective, it seems that a lot of work was done and a module was created, and the new module may be technically awesome, but I don't think it addresses the central issue that this feature request was about (certainly from our perspective): creating an InAppPurchase mechanism WITHIN Expo. In order to use this module, as far as I understand, requires ejecting from Expo, and is intended to for the foreseeable future. Is that correct? That's exactly what I believe this feature request was trying to avoid. There are already a number of existing libraries for doing in app purchase from *outside* of Expo, after an eject. I believe that the whole point (at least our whole point) of this feature request was a desire to be able to do IAP without having to eject from Expo. I realize that there are some significant technical challenges relating to this. That's why you guys get paid the big bucks. ;-0 Without being able to do in app purchase WITHIN Expo, it seems to me that this module does not really address the central intent of the feature request. Also, do others agree with my comments? Does the existing new module (requiring expo eject) serve people's needs, or were people asking for an in app purchase mechanism that doesn't require eject, like we were? Thank you.
@Christopher deCharms: Exactly my thoughts. What's the point of an in-app-purchase module where you have to eject from Expo anyways? What's the timeline for using this with Expo WITHOUT ejecting?
@Christopher deCharms: Same here. I tried to eject and do all the native stuff but it's not as easy.
I'd even pay a premium service for using expo features such as this. Anyway, it seems that they are working on it for free so thank you again guys.. let's be patient !
@Thomas G.: Can you link to a guide on how to do that?
@Holger Sindbaek: I'm implementing revenueCat SDK. Its seems promising, my app is not ready yet though. I'm having trouble doing all the native stuff such as pod configuration, creating APK myself for android, refactoring the push notification service using Firebase instead of Expo etc.
Sweet! Will expo-in-app-purchases work with ExpoKit?..
I'm super excited to announce that the initial release of the Expo In-App Purchases module is finally ready! Thanks everyone for your patience as we worked hard over the past couple months to bring you this feature.
You can now run npm install expo-in-app-purchases and head over to the docs to learn more about how to use it: https://docs.expo.io/versions/latest/sdk/in-app-purchases/. As a reminder, this is only available in the bare workflow for the time being.
Looking forward to everyone's feedback and hope to see some great Expo apps being monetized soon!
@Sergei Chestakov: FANTASTIC. Thank you so much for your work in making this happen. Super happy, as I'm sure that many people will be, that this functionality will be available in Expo. Two questions: 1) When do you estimate it will it be available in Expo managed workflow/SDK/etc (or is that the plan), 2) Have you included back-end processing to track payments? #2 is super-important for being able to run an actual business using in app purchase... pretty much impossible without it, even if you can complete individual transactions. See revenue-cat for an example of this as I said in my previous post. Thanks again!
@Sergei Chestakov: Hey! If we have to eject to use this module, what's the point? There were already RN libraries for IAP.
@Yunus Bayraktaroğlu: 'we need to do more work on build service before we can make it available for managed workflow apps'
This is just the first step towards the greater goal. Well done team Expo!
Will this feature be shipped in sdk 34??
@Rajendran Nadar: as same as my question! and exactly when?
@Rajendran Nadar: No, you need the uni module: expo-in-app-purchases
@Pawel: How can we get it ?
@Thomas G.: just npm install expo-in-app-purchases. They released v 1.0.0 yesterday. But I think you need the current master version of expo as well. Or wait for the next minor release which is probably 33.0.8?!
@Pawel: Thank you for your answer. So it won't be possible to use this with managed workflow if i understand correctly ?
@Pawel: Is there documentation somewhere? I saw this link in the readme https://docs.expo.io/versions/latest/sdk/in-app-purchases, but the page doesn't load.
@Walsh Costigan: the docs are still WIP. You can track the progress over here: https://github.com/expo/expo/pull/4607
@Thomas G. as far as I know it should work with managed workflow. It's the same as using expo-permissions or expo-file-system uni module.
@Pawel: No it is not available for managed workflow. (Check brent's comment below)
@Rajendran Nadar: Thank you, I didn’t know that.
track progress here: https://github.com/expo/expo/pull/4416
@Brent Vatne: Thank you!!!
@Brent Vatne: https://github.com/expo/expo/pull/4416 wow, it's was merged to master? so can you tell me when can I use this feature?
@Thua Nguyen: sdk 34
@Rajendran Nadar @Thua Nguyen: you will only be able to use it in bare/ejected projects for the near future. we need to do more work on build service before we can make it available for managed workflow apps
@Brent Vatne: What's the timeline(ish) for managed workflow? Can't IAP already be set up once ejected anyways?
@Walsh Costigan: there is no timeline at the moment for getting it running in managed workflow, i'd recommend using the 'bare' workflow for now to use it. unfortunately it will require us building out some more infrastructure to make this possible for managed apps still
Thank you guys for being patient and sorry for the delay. Your request has been heard and the Expo In-App Purchases module is on the way! We're hoping to get this out in the next week or two so that you guys can start monetizing your apps soon.
Follow the progress here: https://github.com/expo/expo/pull/4416
@Sergei Chestakov: Awesome! If I’m understanding this correctly, it means we’d need to build our own Expo Client apps or standalone apps to be able to test the feature, and in vanilla Expo Client, it simply wouldn’t work?
@Andric Tham: You won't need to build a custom Expo Client, that's just what we're doing now for testing purposes. We're still ironing out the details but you will most likely have to use the Bare workflow in order to use this module since In-App purchases require you to have an app with the same Application/Bundle ID uploaded to App Store Connect and Google Play Console on iOS and Android respectively.
If you try to make In-App Purchase requests with an Expo app in the default Expo client it would be querying for entries that don't exist since we have none and you wouldn't be able to add your own.
@Sergei Chestakov: It's an A M A Z I N G news !!! I'm using expo since a long time ago and i've been struggling with IAP things with apple. Thank you so much for your awesome work ! I can't wait to use it !!!
@Sergei Chestakov: It would be awesome if we can also get this feature by building our own Expo Client, in that way we could still use the managed workflow. What do you think? Is this possible or am I missing something?
@Sergei Chestakov: I just wanted to eject. Thank you!
@Sergei Chestakov: wow, it's was merged to master? so can you tell me when can I use this feature?
I EXPECTED expo to have this. Stop working on other things. Work on this. Ejecting is necessary to implement one of the most common and profitable business models
@JamesGelok: we explain pretty clearly that it doesn't :) it is being worked on though
This isn't a nice to have it's a must have! <3