I checked the Google documentation about the part concerning the free trials, the problem is that those free trials seem to be only applicable to the subscriptions.
Is there any way to setup free trials for the other kinds of in-app purchases? (in my case just normal products)
PS: I could try using the subscriptions, but I guess there will be an automated purchase activated once the period is over. I don't want of course to let them buy this subscription.
Related
The problem I am facing is, A user can get the free trial benefits without any restriction of my In-App purchase by creating and logging in with new Apple or Google ID on their device.
I can maintain the list of users who already have consumed the free trial as the app requires sign-in and I can map that purchase with the account, but the Apple and Google won't recognise that user as the existing user for that purchase and will give the free trial benefit again without charging anything.
The one solution I came up with is to keep two Product ID on respective stores like:
my_in_app_subscription_with_trial: It will give any new user the benefits of Free trials.
my_in_app_subscription_without_trial: It will start the subscription the moment the user buys it. I can use this for those users who already have consumed the free trial.
or
Is there any way to give users free trial of In-App Subscription conditionally while requesting for Subscription from Respective Stores?
Any suggestions other than the above-mentioned?
I looked at this question Android in-app purchase of a subscription with a free trial - how to avoid abuse?
But the above scenario is taken care by Google and Apple.
On Google Play, you can call queryPurchaseHistory API in Play Billing Library. If you have seen the previous history record of your subscription item, then you know the user has used his free trial.
Login with a different Google ID through Google Sign-in won't help. Actually, the in-app purchases are tied to the account which downloaded your app. The user really have to completely log out the owner account from device and sign in with a new account to make this abuse.
The app is currently a paid app on google play. Now I want to change it to a monthly subscription with 3 days free trial. The flow in my idea for the new app version would be:
1/ Check if the user has already purchased the app by license checker LVL. (I will use the privacy checker by Javier Santos)
2/If they purchased. Let them use. If not, let them use the trial then ask for a subscription.
My concern is: Once I change it to free trial, will the license checker recognize the free trial as purchased? If it does then my flow would be a disaster.
I appreciate any idea for my case. Thank you for your time.
I have defined 5 different products from developer console each having 7-day free trial. Within first days, users were able to get free trial for each of them seperately. I also tried and tested. I were able to start free trial for 2 different products.
However, now when you start one free trial, you are not able to start others. Google prompts you to pay and buy also informs you that you already got a free trial and can't get anymore.
I have noticed in https://developer.android.com/google/play/billing/billing_subscriptions.html#trials that
You can provide each user with only one free trial, regardless of the number of subscription products that your app offers
Is that new?
I was unable to find clear reply on Google's help.
App is Free to use. It's absolutely useful.
Also it's possible to buy subscription and get more in-app options.
Then is this app Paid or Free ?
As far as I understand it's paid.
But when I select Paid option in Developer Console, then it requests to provide price of the App. But App, by itself, is free to use.
What price should I enter then ?
Or is it Free ?
The difference between paid and free is at the time of installation. Do you have to pay to install the app or can you download it for free. In other words, does the button in the store say "buy" or just "install"?
It does not matter whether the app has in-app purchases (1) or ads later on. Both free and paid apps can have that but most app that rely on subscriptions and in-app purchases will be free.
The official developer's guide explains it here: https://support.google.com/googleplay/android-developer/answer/6334373
For an overview of all the monetization options check out the course linked on https://play.google.com/console/about/guides/monetize/
The important points for the decision:
Paid apps are not available everywhere. See https://support.google.com/googleplay/android-developer/table/3541286 for a list of countries and limitations.
Paid apps cannot be set to a price of 0. This means no "This week free" type of promotion. There is in fact a minimum price you can set.
Paid apps can be converted to free apps but never back. Whether existing customers will like you for that or how you could compensate them is a different question.
Free apps must stay free forever. You can only unlist them and publish them under a new name.
(1) Some regions do make a difference between free apps with in-app purchases and free apps without them when it comes to availability. Basically, Google will not let you download an app with in-app purchases when they can't sell you those in-app purchases in that country.
It's like this:
Free: Completely free. No cost to download. You can still run ads, if you wish. You can, also use IAP here, if you'd like.
In App Purchases: Means that the user can pay money for things within the app. Upgrades, level unlocks, subscriptions, things like that. Your app can be free, but still have this option.
Paid: You are charging people to download the app. $.99 is the USD minumum. You can, also us IAP here, if you'd like.
In other words, you can combine Free/Paid and In App Purchases, if you wish. But free to download, still means free.
I've searched high and low for guidance on how best to address this...
I've read Google Play In-App Subscriptions (http://developer.android.com/google/play/billing/billing_subscriptions.html) and the section on Implementing Subscriptions (http://developer.android.com/google/play/billing/billing_integrate.html#Subs) but I still don't see a way to avoid abuse.
I've also seen the related question here - Google Inapp purchasing and trial period. However, using the SharedPreferences is subject to relatively easy abuse.
I have an app that will require a subscription for full functionality. I set up a monthly subscription in-app purchase product, say ID = "myapp.subscription.monthly", costing $0.99/month.
I want to give people a chance to experience the full functionality, so I give "myapp.subscription.monthly" a 30-day trial period.
When the user installs the app for the first time, they are prompted to purchase the monthly subscription, they are charged $0.00 and told that starting 30 days from now their card will start getting charged $0.99/month.
When my app calls "getPurchases()", the fact that they have a subscription will be returned.
If they cancel during the free trial, or say after a couple of months of billing, a call to "getPurchases()" returns nothing, according to the "Implementing" section:
The call returns a Bundle with all the active subscriptions owned by the user. Once a subscription expires without renewal, it will no longer appear in the returned Bundle.
Since the user has no active subscriptions, my app will prompt them to purchase the subscription for full functionality. Again, they will get the 30-day free trial.
I've thought about having a second subscription product, say "myapp.subscription.monthly.no.free.trial" and I would have that be the available item for purchase. However, without a way to ask Google Play if the user ever previously purchased a subscription, my app can't know that is should be offering the "no free trial" product.
So, how to avoid someone just subscribing and cancelling over and over to keep getting the free 30 days? Is there a way to ask Google Play for the complete purchase history?
According to documentation (https://support.google.com/googleplay/answer/2476088?hl=en, Trial subscriptions), its says:
You can't sign up for multiple trials.
I guess Google automatically handle this
Google Play Store handles this automatically
If your user cancels the free trial and then tries to make a purchase, they will be shown the $0.99 rather than giving a Free trial again. But, if the user pays the $0.99 after canceling the free trial, the actual billing will only start after the canceled Free trial period has ended.
It would have been helpful if there was any way to know whether a product has a free trial or not on the client side. Hope that will be put into the In-App Billing APIs soon.
I am also using in app billing but google always provide one free trial per user.
If u subscribe same sku again then google will not provide trial period to that user.