Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

From Free/Pro to In-App Purchase

I have an app published in the Windows Phone store for more than two years. So I started development on this app at Windows Phone 7 times where there was no In-App purchase available. Best-practice back then was to actually publish two separate apps, one Free version (most of the times ad-served) and a Pro app with some kind of Trial functionality.

In order to get both two different XAP packages I created two separate build configurations with different pre-build and post-build actions. So what the build does is:

  • (Pre-Build) Copy WMAppManifest file for Free/Pro (with adjusted product name, GUID, ...) to the Properties folder of the project
  • Build the app
  • (Post-Build) Rename the app package to app-name.{free/pro}.xap
  • (Post-Build) Copy the xap package to a separate folder

As In-App purchase is out for so long and maintaining two different apps at the same time is time-consuming (although it's 100% same code with some free/trial/pro conditions) I would like to move away to just one app in the store that is free and contains In-App purchase to enable the Pro-features.

Now my questions are:

  • What do you think is the best way to do that. Is there any best practice that I didn't find?
  • One concern that I have is that my good reviews for the pro app will then actually be lost as I can't move them obviously to the free app which will then have the Pro package for in-app purchase. Any best practices on this?
  • Alternatively, is there any good way to create two xap app packages without copying WMAppManifest all the time?
like image 335
Stephan Avatar asked Jan 23 '26 07:01

Stephan


1 Answers

It's hard to answer your question - but here goes some resource - a friend of mine, once gave gave me a link to a very nice research made by Wesley De Bolster, described on his blog.

He described a method allowing to differentiate old paid users from new users - the main idea is that you get recipe with CurrentApp.GetAppReceiptAsync() and retrive the date of the purchase from it. After that you can compare the date of app's new version to the one obtained from the recipe. Then you can allow old users to use some features without buying IAP's. I haven't tested the procedure but seems to be a good idea.

Going back to your question, here is what I would do:

  • focus on Pro app - there are users that paid for your app, so don't disappoint them
  • make Pro app a free one with IAP's
  • implement Wesley's method to allow the old users to use features without paying once again
  • provide some information in the old Free app that there is a new one with new features, that will be developed further. You may also provide some methods taking advantage of RoamingSettings to exchange some information between the apps.
like image 154
Romasz Avatar answered Jan 26 '26 00:01

Romasz