I am building a website for a client that is promoting an App on Kickstarter. As one of the rewards this client wants to reward sponsors with in-app purchases. I have searched Apple and posted on other forums but I can't find out if this is possible and if it is possible, how it is done.
Thanks.
You need to implement a promo-code dialog inside your app to do that, then send promo-codes to your Kickstarter users.
I don't think It's possible.
Here's the only Google documentation I could find.
You could make the app free for a short period until all backers have their copy and then raise the price but non backers will be able to download it too.
It would be possible however to use the alpha/beta functionality in the Google Play store to release the app to backers who have joined specific circles setup by you. I don't know if Google would have a problem with you using it like this.
It might be possible to distribute the app outside of the Play Store but I suspect that will become a big support problem as users struggle to get the app installed and keep it up to date.
For iOS part we haven't this functionality with Store Kit. This framework was created to securely process payments from users. You don't need to work with payments. Just deliver some product or an extra functionality to user with promo code. Implement a dialogue in your app where user can enter his code, send this code to your server, check it and give an access for user, if code was right. That's all you need. After making the product available, your app needs to make a persistent record of the "purchase" like you do with normal in-app purchases.
Related
I am fully aware of Google rules regarding in app payments, but I am still not sure if my case pass these rules or it violate them, so I wanted to make sure and see if anyone have a better answer.
Basically I have a website where people register and buy a subscription for a X service, recently I built an Android app to correspond to the service of the website, my Android app shows a message to the users saying that if they want to buy premium subscription they have to go to my website, register and buy it there, the question is does it violate Google rules?
Thank you for any help.
Yes it does.
You are not allowed to hint that users can spend money somewhere else. Its also not allowed to link to external resources where the user can spend money.
Netflix is an example for this.
Netflix users can use the App with the account they created on the website.
Users that create an account from the App are forced to go through in app purchases.
Netflix App is not allowed to hint that users can get it cheaper through the Netflix website.
I am developing an Android application to solve operational research problems. Right now it has a free mode and a paid pro mode using google play in-app purchases. Pro mode allows a user to solve problems of any dimension and using any method available in the app.
Now there is a following problem, which I don't know how to solve best:
I want to provide each user an ability to solve any kind of problem 3 times without paying when a user first installed the app. I'd like to somehow link it to a google account, so the state will be single across different devices with the same account. Good bonus would be if a user should not explicitly log in to the account in the app itself to identify.
What is the best way to do it? I'll need a backend server I suppose.
I'm thinking of two ways, the easy one and the right one:
The Easy one: you could use google play games services, which lets you store users game data without any backend. This is not the right way because what you are developing isn't really a game, thus when the user is prompted to sign in to google play games account will seem strange...
The right one: implement a google sign-in process and store your information on a database. I suggest you to use google's firebase which is free for limited usage and very easy to integrate. It offers an easy way to implement google sign-in procedure and a really cool database called firestore
have the following scenario:
we have an app that users need to pay for. But we also want to sell the app bundled with a book meaning there is a code / voucher in the book that can be used to use the app for free. Unfortunately we haven't found any good way to address this scenario yet:
a) make the app a paid app and use Google / iOS Promo Codes for the books - not good, because the number of promo codes per app and quarter is limited
b) make the app itself free but require users to make an in-app purchase to access most of the content. Alternatively make it possible to enter a code to access that same content. The code comes with the book and is created and maintained by us.
negatives: a lot of effort to maintain the promo codes, handle the in-app purchases and Google / Android don't like it if content within the app is paid for outside - so we could end up being rejected.
I'm really wondering: are we the first one with this need? is there maybe already a solution to this problem we are not aware of? We do not want to rip Google / Apple of their 30% share of app sales. But there doesn't seem to be a supported solution for this.
any ideas? thanks
Thomas
Welcome to SO.
This could be done but i dont know if this is the optimal solution.
Make the app free and lock down at the sign-in, there give link to your play books.
In the app check if the user has purchased the book using
https://developers.google.com/books/docs/v1/using
So if user pays for the book and downloads it, On the next app launch give access to him to use the app.
You should be careful with Apple's in-app purchase guidelines, 3.1.1:
If you want to unlock features or functionality within your app, (by
way of example: subscriptions, in-game currencies, game levels, access
to premium content, or unlocking a full version), you must use in-app
purchase. Apps may not use their own mechanisms to unlock content or
functionality, such as license keys, augmented reality markers, QR
codes, etc. Apps and their metadata may not include buttons, external
links, or other calls to action that direct customers to purchasing
mechanisms other than in-app purchase.
I think for users that purchase the book, they would need to register outside of your app (e.g. on your website). If you had some authentication system you could store a flag on the users profile if they've unlocked the book or not and give them premium access to your app upon logging in.
You can make your app free and set non-consumeable book SKU in your app.
If you want to send the promo code, you can use Google Play Console.
https://android-developers.googleblog.com/2016/01/create-promo-codes-for-your-apps-and-in.html
Google only allow a small amount of promo codes per app, 500/quarter. This is because they don't want to encourage developers to sell this promo code offline. But this is still an official feature supported by Google Play. You will be totally fine as long as you're less than 500/quarter.
We are about to release an application on the Android Market, with In-app Billing for subscription that unlocks certain features for a the subscription period.
My boss now wants me to implement varying number of "free subscriptions" in the sense that:
The "lucky user" downloads & installs the application from the Android Market like any other customer (always free to install, but premium features require payment via In-app Billing).
The "lucky user" receives some key via email that allows him or her to avoid going through the In-app Billing checkout process (i.e. actually pay).
The key can only be used once.
Entering the key via a menu item, enables subscription for X months, as if he actually paid via In-app Billing.
The "key" basically acts like a coupon, but I haven't found any such option in the Publisher's Console.
Do you know of any such feature or a simple way to implement the above without duplicating the customer database on our (the publishers) server?
I actually dove into this subject maybe 2, 3 months ago. My conclusion was that currently there's no way of setting up this system, without using your own server.
Generating unique coupon-codes and expiring them on use is pretty straightforward. Let the user enter the code, send a POST-request to your server, hash the code both client- and server-side and see if they match. Next, expire the code serverside and you're set. It does however make your app vulnerable to piracy (if it isn't already); if you have a high-profile app, make sure to implement security checks (e.g. check SSL certificates to prevent a man-in-the-middle attack).
The hard part is reinstating previously acquired 'freebies' when users reinstall your app or change phones/firmware. For this purpose you're going to need a stable and reliable (cross-device) form of identification (e.g. access to the user's main Google-account on the phone). If you use user-provided e-mailaddresses, it's too easy to just enter someone else's e-mailaddress. If you were to implement a coupon-system, I would advise against reinstating 'freebies'.
I know this is a really old thread, but I had a similar need and found an official solution. For anyone who comes here for a solution:
Google introduced Promotional Codes couple of years ago and that is exactly what you're looking for.
You can create Promo Codes on the Play Console under Your App -> User Acquisition -> Promotion.
You can use promotions to give users a paid app or in-app product for free with a promo code. You can create promotions to reward loyal fans, acquire new users, and reconnect with previous users. Learn more.
yuo can add a screen for enter a coupons.
and the user can go in there and insrert his code and if it is correct you can give him whatever you want.
I need a way to share my app to allow people to download it for free with a coupon code or promo code or checkout code. I would like to post the code to a board, and invalidate it after some time. My app uses licensing and in-app billing, so mailing the APK may not be appropriate. The last question I saw regarding this was 6 months old, so I did not know if there was a newer solution available.
There is not a way to do this with the current feature set in the Play store.
You could produce a similar effect using the Licensing service (http://developer.android.com/guide/market/licensing) and perhaps in-app purchases. However sadly you will have to do most of the work yourself.
Google has recently enabled support for promotion codes for paid apps and in app purchases. You will first need to setup a promotion through your Google play store developer console:
https://support.google.com/googleplay/android-developer/answer/6321495
Or add support for in app purchase codes through in app promotions:
https://developer.android.com/google/play/billing/billing_promotions.html
Note however that there are limits to the amount and type of codes that can be created:
For each app, you can create up to 500 promo codes per quarter. To
reach that limit, you can use any combination of paid app and in-app
promo codes.
Here are some ways you could reach your promo code limit for an app:
500 paid app promo codes, or
500 promo codes for one in-app product, or
250 paid app promo codes + 250 promo codes for one in-app product, or
100 promo codes for five in-app products
As others have said, this is currently not supported by the Android Market/Play. There is, I believe, a feature request, you can vote/star it. If you are already using in-app billing, it is fairly easy to implement this yourself though. All you need is a database with Web access, so you can check if the coupon code is valid. You might want to implement some sort of restore functionality, so people can reuse the code if they switched devices. And/or set up an upper limit for coupon use, so that you can prevent people from sharing the coupon code.
I think I have a part-way ok way to do it. I use the licensing service, which is not terribly hard (10 times easier than in-app billing), and embedded an expiration time into my app, and post the debug version on a web site. Before the expiration, it ignores the license server response. After the expiration, it reports "Unlicensed App" with the option to purchase.
You can do this if you distribute your app through a third-party app market, such as Appia. However, this functionality is not built into Google Play.
If you wish to provide users with a coupon so that they can download a paid app for free on Google Play store, that can't be done. You either need to use another market or distribute the paid app yourself.