Windows Phone 8试用到期时间

sou*_*ton 4 windows-phone-8

在WP8上有一个LicenseInformation类,用于了解应用程序是处于试用状态还是已经购买.

现在我想做的是让我的应用程序仅在试用模式下工作7天(之后到期).

MSDN上的文档现在对这个主题有些误导,所以在阅读之后我会有这些问题.

  1. LicenseInformation.ExpirationDate对我来说没用吗?"此API始终返回9999 - 12 - 31(ETERNITY_FILETIME_TIME)." 似乎试用许可证本身永不过期,这是正确的吗?

  2. 可以使用LicenseInformation.IsActive吗?" 如果许可证丢失,过期或被撤销,可能会返回false . "," 即使在试用期结束后,IsTrial也会返回true.但是,试用期结束后,IsActive将返回false. "如果是这样,我该如何设置截止日期?

谢谢!

Mat*_*cey 5

  1. 是的,到期时间始终是DateTime.Max值.

  2. 不,这不足以满足您的需求.

试用版API中没有任何内容可以在一定时间限制后启用到期.您必须自己实现此功能.

要在使用7天后实施到期,您必须执行以下操作:

  • 记录首次使用应用程序的日期.
  • 随后开始检查是否仍处于试用模式以及首次使用后是否超过7天.
  • 如果这两个测试都返回true,则假设试用已过期并在您的应用中采取适当的措施.

您可以跟踪隔离存储中的首次使用日期/时间,但请注意,如果用户卸载然后重新安装,他们将能够再次运行试用版.

作为替代方案,您需要在自己的网络服务器上存储设备ID和首次使用日期/时间.然后,您将检查该数据,因为用户无法重置该数据.
这样做的缺点是需要运行服务器并确定如果应用程序无法连接到服务器会发生什么.(没有网络访问或服务器关闭.)

如果您想要考虑具有多个设备的用户,事情会变得更加复杂,但这可能超出了合理需要考虑的范围.