In the Beginning
I started out developing for Windows Phone way back when Windows Phone 7 was the big thing. Your options for monetization were pretty much advertising or charging for your app. One great innovation that Microsoft provided to developers (and phone owners) was the concept of "Try" it before you buy it. This did actually help out quite a bit. With other platforms at that time (and some still today) if you, as the developer, wanted customers to be able to try your app before paying for it, you needed to create a special "free" version and publish alongside the "Pro or Paid" version that costs some money. That created lots of extra work and management. With the advent of Windows Phone 7 you could publish a single app with a bit of code inside that allowed a downloader of your app to play with it in either a feature or time limited fashion and then when satisfied with the quality and usefulness just tap a button and update the app in-place to the full paid version. All the work they had previously done was preserved because it actually was the same app with the light switch turned on.
This was all well and fine but as with most "innovations" it tended to be a good starting point. Over the years of smart phones and app stores, many end users kind of got trained to look for "free" apps and, I think, had become averse to paying for apps. Not all users, but certainly many stayed well clear of paid apps not realizing there was a try before you buy model. I found this from personal experience.
The coming of Windows Phone 8
Microsoft was listening. In my opinion the single best part of Windows Phone 8, and there were lots of great bits, was the ability to do in-app purchases. In-App purchases gave developers yet another way to monetize their apps, maybe the single best way if you ask many developers. In-App purchases allowed a developer to release a clearly free app. No Trial necessary. However they could hold back some features like perhaps cloud storage or no advertising or coins in a game and allow the owner of the free app the option to get these neat features (for a small price) to make their favorite app even better.
Mock or Not
For developers there was only two things you needed to learn. When developing, add the Mock In-App Purchase Library to your app. This library, available from the Windows Phone Dev Center lets you simulate the purchase of in-app purchase features. This, in turn, lets the developer test out if their in-app purchase features are working without having to deploy to the Store first. For example, if a user of my app purchases the removal of advertising for $0.99, I can run my app in the debugger to make sure that I have properly disabled the advertising feature of the app when purchased. Also, while you need to check "durable" licenses each time you connect, if there is no network connection you will have had to have stored the information locally so the features are available anyway. Basically you have an #if DEBUG statement that switches from the MockAPI to the store features depending on how you built the app. Second, to implement in-app purchases for real you will need to become familiar with the "Windows.ApplicationModel.Store" library. It is within the CurrentApp class you will find everything you need to purchase in-app products and then, later, verify the purchase. Once you have it working in test mode you will need to become friends with the "beta" system in the Store. You want to deploy your app as a beta where you can create the beta in-app purchase bits in the beta store, purchase them (for free) and then make sure everything is working properly. Store Betas are critical to good apps in the long run.
Durable or Consumable
Microsoft provided options for in-app purchases that lets you be flexible. Those purchases can be durable, like removing advertising, where once done it is done forever or consumable like buying coins in your favorite game to help you get past those nasty bad guys. Even time expiring in-app purchases are available to you so you can provide a subscription model to your apps. Each year to use those fine features the phone owner will need to pay some amount to keep using them. The possibilities are endless. I think, depending on the app, that a mixture is a good thing. With Windows Phone 8.1 Microsoft gave developers the ability to synchronize in-app purchases across devices and platforms. So, if I wish I can add the ability to purchase something for my phone app and then for the Windows 8.1 version of the same app, that purchase would also be valid. This opens up many other options which I’ll reserve for a follow up post.
In-App purchases make sense even when you think you might be cannibalizing your existing revenue streams. For example you have a free app that has been downloaded 10,000 times and you are making a bit of money from advertising but really not enough yet so you decide to add an in-app purchase option to remove advertising as you have had a number of customer requests for this ability through the "email me" feature in your app (you have of those right?). But you are concerned that if you do a durable in-app purchase to remove advertising you will get some up front revenue but on-going revenue from ads will dry up. The thing is, it won't. If you have 10,000 (and growing) users of your app, the majority don't really care about advertising or don’t want to spend their own money. If you managed to get just 10% to remove the ads you have added an extra $1000 to your revenue but you still have 90% of your advertising revenue coming in with more being added all the time. This gives you the option to continue a revenue stream from those that don't want to pay or can't afford to pay while offering a premium option for those that wish to pay. Everybody ends up loving you. That's living the dream baby! Remember, you could even charge $0.99 to remove the advertising for just 1 year, then they have to renew each year or the ads come back. I haven’t seen this done much yet, but the year is still young.
Because of Microsoft’s constant growth of the Windows Phone OS, the options for making money from your app development continue to grow and the outlook for making that money continues to get brighter. Combine that with the growth in Market share we are seeing in Windows Phone, add in some great ideas, some great marketing and a little bit of creativity and you might have to put on a fancy pair of sunglasses. It's never going to be easy and you will have some wins and losses. Learn from what people like. Listen to what they want. And then charge them for it what they want using in-app purchases.