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

本文关键字:应用程序 何检查 下载 检查 何时 于时间 时间 | 更新日期: 2023-09-27 18:22:17

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

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

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

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

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

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

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

所以,如果你做了一个基于时间的试用并存储"安装日期",那么用户只需卸载应用程序并重新安装,就会很高兴获得下一个免费试用期。如果这对你来说是可以的,那么就要意识到这一点。

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

此外,微软手机应用程序指南指出,通常情况下,你不应该创建一个在某个时间点"关闭某些功能"的应用程序。这激怒了最终用户,从用户的角度来看,这让整个手机/平台变得"糟糕",因为人们不喜欢失去他们曾经拥有的东西。

IIRC,在早期的某个时候,微软甚至建议创建两个独立的应用程序:一个是免费的,没有任何额外功能,另一个是付费的,有所有额外功能。后来,TrialMode被纳入了市场的工作流程,微软的应用程序授权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

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

MSDN创建试用应用程序

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

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

Microsoft建议使用WP8 LicenseInformation类来执行

MSDN许可证信息类,WP8

希望这能有所帮助!