Implementing Subscriptions to Android & iOS App - android

We will publish a dating app to Play & app store in the upcoming weeks. The app will launch as free.
However, after the first X# of users, we want to implement a montly subscription model for new users. In an ideal world, the first set of users will always be free, while the second wave is charged a monthly subscription.
Has anyone implemented something like this before? I could just unlock a messaging feature with the subscription product, but don't want to ding my first users.
Thank you!

Related

Add an offer to an already existing user subscription in my Android app (Google Play IAP)

Google Play IAP allows the developer to set up offers in the app subscription with trials and discounts.
If the offer is a developer determined offer the developer can add logic to the backend or frontend to allow a user to subscribe with that offer depending on some condition.
This works great, but how about applying an offer to an already existing subscription?
Imagine the following scenario:
I have a referral system in my app, if the user invites someone to the app and that person subscribes to a plan, both users will receive a 20% discount.
To do that for the new user is easy, I just add that offer during that user subscription.
But for the old user, I'm not sure how to do that, since that user already has a subscription going, I can't find any API here that would allow me to apply this offer to his existing subscription.
Is that possible somehow? Or is there some workaround to make a referral system like this work with Google Play IAP subscriptions?

Is this possible? Converting Paid app as a yearly subscription

I have my paid app in Playstore and AppStore. Now as per our requirement I want to convert a paid app as a yearly subscription.
For example, Users purchase the app at $50 and that will be their first-year subscription. Is that possible?
I notice both Playstore and AppStore only have two options for downloading the app that is,
Users can download the app for free.
Users need to pay some amount to download the app, and users can use that app for a lifetime.
So there is no subscription option for downloading the app.
But Playstore and AppStore provide subscription options as In-app purchases.
To achieve my requirement, I have a thought to implement the below idea,
Once users paid and download the app, we will allow the user to use the app for one year. Then after one year, we will ask for the subscription(In-app purchase) when opening the app (without any free content in the app for the user), the user needs to pay to continue to use it. If payment is successful then I allow the user to login the app, if-else the user needs to exit the app.
Will the AppStore and PlayStore accept the above idea?
Is this possible? If not, please suggest a solution for us?
The main goal is users need to pay $50 per year.
Thanks in advance.
re the Play Store. If you want to have a subscription you need to make your app Free and then add your subscription(s).
See in Google Play console
Monetise,
Products,
App Pricing,
In-App products,
Subscriptions
App Pricing - make it Free. Note you can't change back to Paid after making it free, so make sure you understand that before making it free.
Subscriptions - Enter your subscription details and make the subscription active.
Any app that is marked as Free will have an install button on Google Play. If it is a paid app then the user will be prompted to pay for it before they can download it.
A subscription can have a trial period. The user is only charged when the trial period ends or you option to control the trial within your app via your own server etc.
I can’t comment re the Apple Store.

Can an Android / IOS single app have both Subscription and Full Purchase Methods?

I am new to Android / IOS apps development with React Native. I am using react-native-iap to implement in app purchases.
I want to know whether an Android / IOS single app can have both Subscription and Full Purchase Methods ?
If yes, what will happens
When user first subscribed the app, and then try to purchase the full app ? will subscription get cancelled ?
When user purchased full app and try to do a subscription ?
Thank you.
Subscriptions and "one-time-purchases" are different.
When you buy 2 subscriptions, you can manage the replacement of one by another one. Although, the behaviour is different in iOS and android:
On the Apple App Store, you have the notion of "subscription group". If you try buying another product in the same subscription group, the previous subscription will be automatically replaced by Apple (at the next renewal date for a downgrade, immediately for a crossgrade/upgrade).
On the Google Play Store, you don't have this notion and you'll have to manage the replacement by yourself (more info on this here: Allow users to upgrade, downgrade, or change their subscription)
When you want to replace a subscription by a one-time-purchase, you can manage the "replacement" manually on the Google Play Store, but not on iOS:
On Google, you have an API to cancel a subscription: use it after your user buy the "full-app"
On Apple, such API doesn't exist and the only thing you can do for now, is explaining to your user the different steps to cancel his subscription. You can help him with this deeplink: https://apps.apple.com/account/subscriptions
Opening this URL launches iTunes or iTunes Store and displays the Manage Subscriptions page where the user can upgrade, downgrade, or cancel their subscription by disabling auto-renew
Concerning the full app => subscription, I don't know. You could refund the purchase, but it would mean you would have lost money during the corresponding period of time.

How to beta test app across Android and iOS with in app purchases?

I've got an app that is almost ready for a closed beta test. This is the first app I've attempted to publish. For the app to demonstrate all its features some of the testers will need to subscribe to a feature locked behind an in app purchase. This will write a value to my database acknowledging that the feature has been bought, but also creates a couple of problems. The user purchases time during which the feature is unlocked, they can always purchase more.
On iOS any purchases that are made while part of a beta test are free. This means that a tester will be able to purchase as much time as they want, really loading up. When the test ends the purchases are supposed to be inaccessible because an app in TestFlight is treated as a different app to the same app released. However, both apps will look for the value in the same place in my database, meaning they will keep all purchases.
On Android any purchases, including the app itself, are made with the testers own money. However, I can offer promotional codes to gift them the app or in app purchases for free.
The problem is that to prevent iOS users from keeping all purchases I'll have to wipe the iap values from my database. I cannot distinguish between an iOS purchase and an Android purchase, so the Android purchases would be removed too. I would have to come up with some way to make sure Android testers do no purchase in app purchases with real money during the test, because that money would be lost to them. I would also have to manage some method for Android testers to receive the app and iap promo codes.
Is there any straightforward way to do this? Thanks.

Google Play In-App Billing - How to let testers use items for free?

I am working on an Android 4+ app that is free and includes some In-App Purchase items. Some testers are participating in the current beta-test and once the final version is published I would like to let these testers use the IAP items for free.
Is there some "easy" or official way to do this?
This will be my first app in the Play Store (only worked for iOS so far) and I do not know if there is any possibility to create promo codes or something like this to let users purchase non-free IAP items for free.
The only solution I found so far would be some kind of back door within the app, e.g. "Go to page XY, click twice on image A to bring up the unlock screen, enter your username and key..."
Of course this would work but I do not like this solution. Beside the additional work to implement such a solution it would not be really save. I do not know most of my testers in person and if one decides to publish his unlock key on the internet I cannot prevent all kind users from unlocking the app for free (at least not in the current version).
So, is there any way within the Play Store API to get this working?
Short answer: No!
Detailed answer and a possible way to do this:
Right in the Developer Console --> Settings --> License Testing Panel. There you can add up to 400 eMail adresses. Anyone who's using one of those eMail adresses is able to make test-purchases, this means they won't be charged but the Google Server will respond with something like "Yeah he/she bought this item".
Limitation: It's meant test purchases, mainly for applications that aren't published.
From the docs:
You can use any Google account as a test account. Test accounts are
useful if you want to let multiple people test In-app Billing on
applications without giving them access to your publisher account's
sign-in credentials. If you want to own and control the test accounts,
you can create the accounts yourself and distribute the credentials to
your developers or testers.
Though it's still possible to make test-purchases in published application. But there's one major drawback: The purchase will be cancelled automatically after 14 days.
Quote from the docs:
Test purchases are real orders and Google Play processes them in the
same way as other orders. When purchases are complete, Google Play
prevents the orders from going to financial processing, ensuring that
there are no actual charges to user accounts, and automatically
canceling the completed orders after 14 days.
To sum it up: The In-App Billing API doesn't offer an official way to do something like this. If you wanna do this you have to implement your own solution.
See also this SO-Post "Coupons for In-App Billing" which discusses this topic as well.

Categories

Resources