C# 从免费/专业版到应用内购买

C# 从免费/专业版到应用内购买,c#,windows-phone-7,windows-phone-8,in-app-purchase,windows-phone-8.1,C#,Windows Phone 7,Windows Phone 8,In App Purchase,Windows Phone 8.1,我有一个应用程序在Windows Phone商店中发布了两年多。因此,我在Windows Phone上7次开始开发这个应用程序,当时没有可用的应用内购买。当时的最佳实践是实际发布两个独立的应用程序,一个是免费版本(大多数时候都是广告服务),另一个是带有某种试用功能的专业应用程序 为了获得两个不同的XAP软件包,我创建了两个独立的构建配置,它们具有不同的预构建和后构建操作。因此,构建所做的是: (预构建)将Free/Pro的WMAppManifest文件(带有调整后的产品名称、GUID…)复制到

我有一个应用程序在Windows Phone商店中发布了两年多。因此,我在Windows Phone上7次开始开发这个应用程序,当时没有可用的应用内购买。当时的最佳实践是实际发布两个独立的应用程序,一个是免费版本(大多数时候都是广告服务),另一个是带有某种试用功能的专业应用程序

为了获得两个不同的XAP软件包,我创建了两个独立的构建配置,它们具有不同的预构建和后构建操作。因此,构建所做的是:

  • (预构建)将Free/Pro的WMAppManifest文件(带有调整后的产品名称、GUID…)复制到项目的Properties文件夹中
  • 构建应用程序
  • (生成后)将应用程序包重命名为app name.{free/pro}.xap
  • (生成后)将xap包复制到单独的文件夹中
由于应用程序内购买已经过时太久,同时维护两个不同的应用程序非常耗时(虽然它的代码完全相同,但有一些免费/试用/专业条件),我想在商店中只使用一个应用程序,该应用程序是免费的,并且包含应用程序内购买,以启用专业功能

现在我的问题是:

  • 你认为最好的方法是什么。有什么我没有找到的最佳实践吗
  • 我所担心的一个问题是,我对专业应用程序的良好评价实际上会丢失,因为我无法将它们明显地移动到免费应用程序,而免费应用程序将有专业软件包用于应用内购买。在这方面有什么最佳实践吗
  • 或者,有没有什么好方法可以创建两个xap应用程序包而不必一直复制WMAppManifest

很难回答你的问题,但这里有一些资源-我的一位朋友曾给我一个链接,链接到韦斯利·德·波姆(Wesley De Boost)的一项非常好的研究

他描述了一种能够区分老付费用户和新用户的方法——主要思想是使用
CurrentApp.GetAppReceiptAsync()
获取菜谱并从中检索购买日期。之后,您可以将应用程序的新版本日期与从配方中获得的日期进行比较。然后,您可以允许老用户在不购买IAP的情况下使用某些功能。我还没有测试过这个程序,但似乎是个好主意

回到你的问题,下面是我要做的:

  • 关注专业应用-有用户为你的应用付费,所以不要让他们失望
  • 使用IAP的免费应用程序制作专业应用程序
  • 实现Wesley的方法,让老用户无需再次付费即可使用功能
  • 在旧的免费应用程序中提供一些信息,说明有一个具有新功能的新应用程序,将进一步开发。您还可以提供一些方法,利用漫游设置在应用程序之间交换一些信息
面对同样的情况,我很惊讶你没有提出我的主要担忧:如何向旧版pro的用户免费提供应用内购买?如果他们需要再次购买,他们肯定会留下不好的评论(这是理所当然的)@KooKiz有一个机会,你可能在寻找。@KooKiz这是一个很好的观点。我没想过这个。我担心这将是最合适的答案。我希望这里有人能给出更好的建议,但似乎框架在这里有点限制。因为这是最好的答案,我当然会接受。谢谢