I have an Android application using Google's in app billing v3. I have a donate button whereby users can donate if they would like to do so. Once a purchase is made I "consume" the order immediately so they could donate again in the future.
I would now like to detect users that have previously donated. Is this possible?
Related
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?
I am done developing an app. I added the ads banner and tested it, works great. The only thing I want to do is to have the customer buy the app, and when the customer buys the app it eliminates the adds. Also I would like to ass a button so the customer presses the button to buy the app, and once the customer buys the app that button also is eliminated. First app I have developed as I am still a newbie with android studio.
You would have to store whether the user has completed any purchases and upon loading, just don't show the ads if the user completed purchases. You would probably also have to add in a check to see if the user processed a refund.
An alternative would be to create a separate app with no ads whatsoever and put this up for purchase on the app store.
I have integrated In App Purchase (Auto-Renewable subscription) in iOS & Android. Both are working fine. I have certain doubts about validating the IAP using cross platforms like:
How multiple user when login in one app, how does the subscription for one particular works? (For Example, if user A has standard plan & after logout from the app. If user B logins in the same plan who has premium plan. How the iTunes will manages plan of IAP for particular user?)
Also what if user's who has android device when switch to iOS, then how to validate the IAP from android to iOS or vice-versa? (Like Netflix)
What if user A who has purchased standard plan on android and now switch to iOS & upgraded to platinum plan. So at the end of the standard subscription plan , will the standard plan be stopped & platinum will continue.. or standard plan will be counted too??
Any help will be appreciated. Thanks
Like #Paulw11 said, you'll need to manage subscriptions on your own server. Any receipt validation will only validate against that users App Store or Play Store account on the device, not the logged in user of your app. Obviously, Apple can't validate a Google purchase or vis-versa.
To answer your questions directly:
Apple will only look at the App Store account on the device to see if that user has made a purchase or not. Apple won't do any validation against your logged in user.
You need to store the receipt (from whichever store they purchased from) for the user on your server. When the user logs in on any device, you can check your backend to see if the subscription is expired or not.
There is no way to upgrade/crossgrade between two platforms. As soon as userA has purchased the standard plan on Android, they'll need to use their Play Store account to manage the subscription. Look at large, cross-platform apps like Netflix or HBO to see how they handle this messaging to users.
There is a tool, RevenueCat, that might be worth checking out. It's essentially a subscription backend-as-a-service that handles exactly what your trying to do.
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!
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.