0

有什么方法可以访问应用程序下载(或首次启动等)的时间,因为这对在我的应用程序上实现我的试运行功能有很大帮助。

4

2 回答 2

4

我不记得它在Win8平台上的表现如何,但是对于WinPhone7.0/7.5,微软的官方文档中有明确的警告/指南,说:

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

通常,最好通过限制对关键代码路径的试用访问来保护完整模式应用程序的价值。用户可以不受限制地卸载和重试应用程序,因此在有限时间内提供完整模式行为的试用设计只会提供不便作为重用的障碍。

来源:为 Windows Phone 创建试用应用程序

基于时间的试用的问题很简单:当你卸载应用程序时,手机的操作系统会将其彻底清除。这意味着,不会留下任何东西,而不是一个字节如果您将任何数据写入 isostorage,它将在删除时被清除。

因此,如果您进行基于时间的试用并存储“安装日期”,那么用户只需卸载应用程序并重新安装,并且很高兴获得下一个免费试用期。如果这对您来说没问题,那么请注意这一点。

要进行真正的计时赛,您需要创建一些互联网服务,您的应用程序将使用手机/用户的 UUID 注册到该服务,然后应用程序需要检查该服务以确定试验是否已通过或已经通过以前的安装用完了..

更重要的是,Microsoft Phone Appp 指南指出,通常您不应创建在某个时间点“关闭其某些功能”的应用程序。这会激怒最终用户,并且从用户的角度来看,这会使整个手机/平台变得“糟糕”,因为人们不喜欢失去他们曾经拥有的东西。

IIRC,在早期的某个时间点,微软甚至建议创建两个独立的应用程序:一个是免费的,完全没有额外功能,一个是付费的,包含所有额外的功能。后来,TrialModes 被包含在 Market 的工作流程中,Microsoft 的 App Licensing API 引入了一种非常简单的方法来确定应用程序是在“免费试用”还是“完全付费”模式下工作,具体取决于它是否从市场上免费下载.

我真的不知道哪一个是最近的,所以让我贴三个:

XNA: http: //msdn.microsoft.com/en-us/library/dd282459 (v=xnagamestudio.30).aspx

SL:http: //msdn.microsoft.com/en-us/library/windowsphone/develop/microsoft.phone.marketplace.licenseinformation.istrial

W8:http: //msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.store.licenseinformation.istrial

于 2013-07-15T11:28:44.150 回答
2

如果您尝试在手机应用程序中实现试用功能,为什么不使用 MS 提供的库呢?

MSDN 创建试用应用程序

用于集成试用应用程序的 MSDN 示例代码

这仅适用于 WP7.1、WP7.1+ 和 WP8(为 WP7.1 编写时)

微软推荐使用 WP8 LicenseInformation 类,来做

MSDN LicenseInformation 类,WP8

希望这可以帮助!

于 2013-07-15T11:32:49.250 回答