0

我有一个免费的 Windows Phone 应用程序,该应用程序目前针对 OS v7.1,以便它可以在 WP7.8 和 WP8 上运行。我希望创建更多功能,这些功能将成为我希望用户付费的“高级”内容。

我最初计划将此应用程序制作为付费应用程序并通过使用试用 API 提供试用,但此后我决定将其作为应用程序内“专业包”提供,主要是出于营销方面的考虑,因为“免费增值”应用程序比“试用”对开发者的回报更好,我希望在商店中保留“免费应用程序”标签。

这成为一个问题,因为 7.1 不包含用于应用内购买 (IAP) 的 API,只有 OS v8.0 包含。

我可以将当​​前版本设为“精简”版本并发布新编译的“专业”版本,但是我不想维护两套代码,让我的用户不得不去下载新版本,失去评论和下载号码等等。这似乎不优雅。

  1. 我知道我可以在同一个解决方案中针对具有链接项目的单个操作系统,但是我可以在 7.1 项目中包含一个试用 API 并在 8.0 项目中包含所有针对相同功能的 IAP 吗?

  2. 如果 #1 为真,它将在 WP7 商店中显示为付费应用程序,在 WP8 中显示为免费应用程序,还是在两者中都显示为付费应用程序?

  3. 关于如何更好地实现此功能有什么建议吗?

4

2 回答 2

1

如果您想继续使用在两个系统上运行的 xap 进行发布,您实际上可以在 7.1 应用程序中使用应用内购买 (IAP) 并使用反射。该模式本质上是“检查是否存在 IAP,是吗?很好,使用它”。

有一个方便的包装器可以为您完成所有这些工作,您可以在以下位置找到:http ://code.msdn.microsoft.com/wpapps/WP8-Store-Wrapper-for-IAP-74f77f17

于 2013-06-17T06:08:30.597 回答
1

Windows Phone 没有双重定价模式。因此,在 Windows Phone 8 中拥有免费应用程序时,您不能拥有 Windows Phone 7 的付费应用程序。我目前确实有一个针对 Windows Phone 7 但添加了 Windows Phone 8 功能的应用程序,例如 LongListSeletor 和 In App Purchase。我的解决方案中有两个应用程序项目。一个针对电话 7,一个针对电话 8。它们都通过将它们添加为链接来使用相同的代码文件。My Phone 8 项目在发布和调试模式下都定义了一个“WP8”编译符号。当我想在应用程序中购买时(对我来说是删除广告),我喜欢

#if WP8
// Do some logic here
#endif

这允许跨两个平台使用相同的代码,商店中只有一个应用程序(一个针对电话 7,一个针对电话 8)。我同意免费应用程序比付费试用应用程序更好,但是如果您希望为 Phone 7 付费,它将为 Phone 8 付费。这是两个平台的最大限制之一(在我看来)。

这正是我想用应用程序做的事情。我还没有弄清楚我将如何做到这一点。

于 2013-06-17T14:48:23.093 回答