Question

I have a free Windows Phone app that is currently targeted for OS v7.1 so that it will run on both WP7.8 and WP8. I wish to create further functionality that will be my 'premium' content that I wish users to pay for.

I had originally planned to make this a paid app and offer a trial through the use of the Trial API however I have since decided that I wish to make it available as an in-app "pro pack", mainly due to marketing considerations because "Freemium" apps have a better return to the devs than "Trials" and I wish to retain the 'free app' label in the Store.

This becomes a problem because 7.1 does not contain APIs for In-App Purchases (IAP), only OS v8.0 does.

I could make the current version the 'lite' version and release a newly compiled 'pro' version however I don't want to maintain two sets of code, make my users have to go and download a new version, lose reviews and download numbers etc. It just seems inelegant.

  1. I know that I can target the individual OSs with linked projects in the same solution, but can I include a Trial API in the 7.1 project and IAP in the 8.0 project all targeting the same functionality?

  2. If #1 is true will it show up as a paid app in the WP7 Store and a free app in WP8, or will it show up as a paid app in both?

  3. Are there any suggestions on how I can implement this functionality better?

Was it helpful?

Solution

Windows Phone does not have a dual pricing model. So you cannot have a paid app for Windows Phone 7 while having a free app in Windows Phone 8. I do currently have an app that targets Windows Phone 7 but adds Windows Phone 8 functionality like the LongListSeletor and In App Purchase. I have two application projects in my solution. One targeting Phone 7 and one targeting Phone 8. They both use the same code files by adding them as link. My Phone 8 project has a "WP8" compile symbol defined in both release and debug mode. When I want to do in app purchase (for me it is to remove ads) I do so like

#if WP8
// Do some logic here
#endif

This allows for the same code across both platforms, only one app in the store (one targeting phone 7 and one phone 8). I agree that a free app is better than a paid with trial app, but if you want it to be paid for Phone 7, it will be paid for Phone 8. This is one of the biggest limitations of the two platforms (in my mind).

This is the exact thing I wanted to do with an app. I still have not figured out how I will do this.

OTHER TIPS

If you want to keep publishing out of one xap that runs on both systems you can actually use In-App Purchasing (IAP) from your 7.1 app with the use of Reflection. The pattern is essentially "check to see if IAP is there, it is? Great, use it".

There is a handy wrapper that does all this for you already that you can find at: http://code.msdn.microsoft.com/wpapps/WP8-Store-Wrapper-for-IAP-74f77f17

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top