Is there a way to give promo/coupon codes for people to download your app for free?
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.