5

I created two apps one free and one PRO and published them to the market, now in hindsight I should have taken the time to create an In-App-Billing element to unlock the free to the full. I wish to go ahead anyway and create the in-app billing element in the free version, and then remove the other (PRO) version from the market.

My issue though is how do I determine that a user who installs the free version has previously installed the PRO version and hence auto unlock it?

Assuming they removed the PRO app already from their device, can I access their purchased transactions and then unlock that way?

Otherwise is there a way in the dev console to create a transaction for them without them paying, and when they load the free version, it will restore that transaction?

I didn't use LVL in the PRO version, does that make a difference?

Artisan
  • 1,974
  • 1
  • 18
  • 23

3 Answers3

1

There is no support for this currently. You can check whether a user has bought a paid app using the licensing service (LVL), but it cannot be used in a paid app. You obviously can't create in-app transactions (Google handles this), and IAB has no native support for cupons/activation codes. You can either:

  • build your own coupon/activation service (requires a server), or
  • manually refund the IAB purchase for users who have already bought the pro one. You will lose the 30% Google fee in this case though.
Nikolay Elenkov
  • 52,576
  • 10
  • 84
  • 84
  • I think option B would be the way to go at this stage, but I'd rather refund their first purchase and then if they want to buy the IAB they are free to. – Artisan Mar 27 '12 at 02:39
0

I don't know if this is possible, but why don't you make the pro app free and use LVL to verify if the in-app purchase has been paid for?

Maybe it cant be done like that. I don't know.

Another option is to get the paid app to generate a "voucher code" to put into the new app. So a user can unlock the paid feature in the new app before uninstalling the old one.

SpiRail
  • 1,377
  • 19
  • 28
0

You could potentially use the email address that Google Checkout provides with each sold version of the app to notify the user or your pending change, and perhaps provide them with an activation code or something in the email you send. This could prove cumbersome if you sold a lot of the pro version though. How many pro versions did you sell?

javram
  • 2,635
  • 1
  • 13
  • 18
  • Not that many yet, hasn't been up for that long. I guess I could do that, however I don't want that activation code flying around, is there a way to tie it to their market account? e.g. how can I retrieve their market account email, and then search the checkout API for purchases of that app with that email? – Artisan Mar 26 '12 at 21:48
  • I am not aware of any public API for checkout. Is there a server side component to your application? perhaps you could check whether the activation code has already been used on your server before allowing access. – javram Mar 26 '12 at 21:52
  • No server side unfortuately hence the desire to look up previous purchases in checkout. – Artisan Mar 26 '12 at 21:55
  • There's an API. See [here](http://stackoverflow.com/questions/3459858/app-on-android-market-http-notifications-dont-come). – Seva Alekseyev Mar 27 '12 at 02:24
  • Right, but that's not available everywhere. Only US and UK, or some such. Other merchant accounts simply don't get the merchant key necessary to use it. – Nikolay Elenkov Mar 27 '12 at 02:46