创建 Windows Phone 试用应用程序的概述

2012/2/9

Windows Phone 商城 支持设计并实施试用模式的应用程序。经验表明,用户都喜欢试用新产品,并且如果能够在购买前先试用应用程序,他们很有可能会购买。

Windows Phone 应用程序平台 可以让您方便地在单个 XAP 包中提供试用版本和完整版本的应用程序。用户正在试用某款应用程序时,如果希望购买该应用程序,他们可以从该试用应用程序无缝地访问熟悉的 Windows Phone 商城 购买体验。

对于您将如何设计应用程序的试用体验不存在限制。您可以确定希望向用户公开的功能范围,试用版本是否有时间限制,以及如何鼓励用户购买您的应用程序。您还可以确定用户选择购买试用的应用程序时,是否维护应用程序的数据和状态。

当您将试用模式应用程序提交到 Windows Phone 商城 时,选中试用应用程序框,Windows Phone 商城 客户端的应用程序详细信息页面将显示一个试用选项视图。

先试用后购买概述

试用模式测试概述

试用应用程序最佳做法

先试用后购买概述

若要对应用程序实施试用模式,您首先必须定义并实现试用行为与完整模式行为之间的区别。为确保用户执行时以正确模式运行,您的代码必须确定正在以试用执行权限还是完整执行权限运行应用程序。您的代码必须启动 Windows Phone 商城 客户端以提供购买路径。

用户对应用程序执行试用/完整权限的状态将在许可证中维护。当用户试用您的应用程序时,授权用户试用应用程序的许可证将与应用程序一起安装到他们的手机上。试用许可证不会过期,但是当用户购买了他们正在试用的应用程序时,他们将下载完整的许可证。完整许可证将取代试用许可证,并将应用程序的所有权限授予用户。

为确定运行时的许可证是试用执行权限还是完整执行权限,Windows Phone 7 提供了一个方法:如果应用程序在试用许可证下运行将返回 true;如果已购买应用程序,且在完整许可证下运行则返回 false。

为了使试用用户能够购买您的应用程序,Windows Phone 7 提供了一个方法,即将 Windows Phone 商城 客户端打开到该应用程序的购买页面。

XNA Framework 开发人员应该使用 GamerServices.Guide 类来生成先试用后购买体验。使用 Guide.IsTrialMode 属性来获取当前许可证模式,使用 Guide.ShowMarketplace 方法来发起购买体验。

Silverlight 应用程序可以使用上述 XNA Framework 方法或 IsTrial()()()() 方法来直接获取当前许可证状态,使用 MarketplaceDetailTask 类的 Show()()()() 方法来发起购买体验。若要了解各选择之间的利弊,请参阅下面的试用模式测试概述部分。

有关 Silverlight 应用程序实现试用体验的更多信息,请参阅如何在 Windows Phone 的 Silverlight 应用程序中实现试用体验。有关在 XNA Framework 应用程序中实现试用体验的更多信息,请参阅如何在 Windows Phone 的 XNA Framework 应用程序中实现试用体验

试用模式测试概述

当您测试或调试您的应用程序时,您的代码必须模拟确定试用状态并导航到可以购买的 Windows Phone 商城。此功能的方法不适用于调试或测试模式,因为只有在应用程序完成并提交之后才创建所需的授予许可和 Windows Phone 商城 ID 属性。

XNA Framework 应用程序应该始终使用 GamerServices.Guide 类来实现这些功能。此类包含内置的试用和购买模拟功能。有关更多信息,请参阅“商城”内容模拟试用模式

Silverlight 应用程序还可以使用 GamerServices.Guide 类或实施自己的自定义行为。在 Silverlight 应用程序中使用 GamerServices.Guide 调用,可以省去一些在调试或测试期间模拟试用许可证状态的工作。使用 LicenseInformation.IsTrialMarketplaceDetailTask.Show 方法让您有更多机会自定义试用测试和调试方法。

本节介绍创建试用应用程序时应考虑的最佳做法。

重要说明重要说明:

如果您经常检查试用状态请缓存许可证状态。请注意,IsTrial()()()() 方法和 Guide.IsTrialMode 属性的设计都是事件驱动的。一次典型调用耗时约为 60 毫秒或更多。

  • XNA 应用程序应始终使用 GamerServices.Guide 类来实施试用模式。

  • Guide.SimulateTrialMode 标志设置为 TRUE 时,请始终将它包含在 #if DEBUG/#endif 语句中。

  • 当应用程序加载或恢复时,请检查 IsTrial()()()() 状态。

    尤其是在缓存 IsTrial()()()() 状态时,可以避免一些潜在的试用设计缺陷。

  • 不要依赖使用时间限制试用来保护您的应用程序价值。

    通常,保护完整模式应用程序价值的最佳方法,是限制关键代码路径的试用访问权限。用户可以卸载并重试没有限制的应用程序,因此提供有限时间的完整模式行为的试用设计只不过给重用带来不便。

  • 在试用结束之前,给用户提供一个购买试用应用程序的方式。

  • 确保帮助用户了解他们为什么需要购买您的应用程序,或许您可以在应用程序中的某一点实施试用限制,而从这一点出发,用户会很自然得想获取更多功能。

    例如,让用户体验游戏的第一级,如果用户要玩更高的级别、保留分数或联系游戏服务则必须购买应用程序。

显示: