应用程序的基于时间的试用版 - 如何检查应用程序的下载时间

时间:2013-07-15 11:08:20

标签: c# windows-phone-7 time windows-phone-8 launch

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

2 个答案:

答案 0 :(得分:4)

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

  

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

     

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

来源:Creating trial apps for Windows Phone

基于时间的试用中的问题非常简单:当您卸载应用程序时,手机的操作系统将完全删除。这意味着,将保留 nothing ,而不是字节。如果您将任何数据写入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

答案 1 :(得分:2)

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

MSDN Creating a trial application

MSDN Sample code for integrating a trial applicaiton

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

Microsoft建议使用WP8 LicenseInformation类来执行

MSDN LicenseInformation class, WP8

希望这有帮助!