Search code examples
c#in-app-purchasewinui-3windows-store

Moving from a Single Purchase to a Subscription Model in a WinUI3 Windows SDK C# Application



Moving from a Single Purchase to a Subscription Model in a WinUI3 Windows SDK C# Application

I am currently working on a WinUI3 Windows SDK C# application that is available as a paid product in the Microsoft Store. Currently, it operates on a single purchase model, but I am considering moving to a subscription model. I invest a significant amount of development time into the app and I am assuming that the reach of a 'paid app' doesn't seem to be quite as far as a 'free app with a subscription model' as from what I can see It won't get offered to business users whose organisations manage apps through tools like In-tune. (Citation possibly needed on that)

I am looking for advice on how to proceed with this transition. Specifically, I have the following questions:

  1. What are the best practices for transitioning from a single purchase model to a subscription model on the Microsoft Store? If anyone has any personal experience and can offer insights as to whether this is a good move in the long term; that'd be fantastic.
  2. How can I ensure a smooth transition for my existing users? I want to migrate them over to lifetime licenses as part of this change but it doesn't look like there's any easy way to assign an 'add-on' to an existing user in Microsoft Partner Centre. What's the process from a coded perspective to achieve this?
  3. Are there any technical considerations or challenges I should be aware of when implementing this change in a WinUI3 Windows SDK C# application?
  4. Any other advice or experiences you can share about making this kind of transition?

I know subscription models can sometimes be a bit divisive so I appreciate your time and any replies I get.


Solution

  • What are the best practices for transitioning from a single purchase model to a subscription model on the Microsoft Store?

    You could create and publish a subscription add-on first. After the subscription is available, you could move on and submit a new package submission to the Store. Make sure you've implemented all the features in your app and don't forget to set the price to free in the new submission. After that, you could publish the new submission and that's all.

    How can I ensure a smooth transition for my existing users? I want to migrate them over to lifetime licenses as part of this change. Are there any technical considerations or challenges I should be aware of when implementing this change in a WinUI3 Windows SDK C# application?

    First of all. there is no direct store API could check when user has purchased your app. After you've changed your app as free, license.IsActive will always be true when you trying to verify the license. This is the key point, you need to check when user has purchased the app by yourself so you could decide whether to directly unlock all feature to them without purchasing the subscription again. You could refer to Gil 1's answer here: https://learn.microsoft.com/en-us/answers/questions/557066/in-case-i-changed-my-app-from-paid-to-freemium-how He is checking the product's Json info to confirm if a user owns the app by purchasing.

    For subscription add-on related information, please check: https://learn.microsoft.com/en-us/windows/uwp/monetize/enable-subscription-add-ons-for-your-app