问题标签 [time-trial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
9798 浏览

c++ - 需要关于实施限时试验的建议

我正在开发一个共享软件桌面应用程序。我到了需要实施试用/激活代码的地步。你如何处理这样的事情?我有自己的想法,但我想看看stackoverflow社区是怎么想的。

我正在使用 C++/Qt 进行开发。预期平台是 Windows/Mac/Linux。

谢谢你的建议!

0 投票
4 回答
975 浏览

shareware - 万无一失的试用策略

我知道已经存在关于 SO 的类似问题。但我的问题更具理论性。

我想知道,是否可以设计一个万无一失的试用系统?我所说的万无一失是指即使破解者知道这种系统的算法也无法破解的系统?

抱歉,如果这不是编程问题。

编辑:我想我应该让我的问题更实用。我问的是整个系统,而不是独立的应用程序。系统由装有 Linux 操作系统的 PC 和一些与之连接的硬件组成。也许我可以使用硬盘加密?

0 投票
1 回答
300 浏览

actionscript-3 - 下周一之后停用在 AS3 中创建的 Air 应用程序?

我在 Air 中部署了一个应用程序,用 AS3 编写,客户想要安装和测试,我开发了一个简单的许可证应用程序,但他正在推动一个完整的许可证,他说他将在下周一全额支付。

您将如何在 AS3 中创建一个程序以在下周一停用应用程序?它会有多安全?简单地更改机器日期会绕过这个吗?

0 投票
1 回答
1350 浏览

android - 应用程序安装日期

我想知道是否有任何方法知道应用程序安装在 Android 手机中的日期。我想知道这一点,以便实现应用程序的限时试用/演示版本。

我可以保存第一次使用的日期,但精通技术的用户可以使用 ADB 更改数据库或删除支持文件。

谢谢你的帮助。

0 投票
1 回答
956 浏览

c# - 如何开发软件的试用版

我的意思是当我的软件安装在任何系统上时,它只能运行 7 天。注册表是可能的,但我不知道怎么可能。

0 投票
1 回答
141 浏览

apache-flex - 受计算机设定日期影响的空中应用程序

我正在为我的 Air 应用程序创建 30 天免费试用版。

当 30 天试用期开始时,当前日期存储在本地加密数据库中。然后,如果相差 30 天或更长时间,应用程序拒绝访问并提示用户购买许可证,则将日期与当前日期进行核对。

似乎我一切正常,但我遇到了问题。

我更改了我机器上的日期,这让我的 Air 应用程序认为这是当前日期,让 30 天的追踪仍然有效。

我想知道解决这个问题的方法可能是什么?Air 是否可以不根据计算机设置的日期获取当前日期?

0 投票
1 回答
124 浏览

android - 安卓市场程序

我快要完成一个安卓程序了。虽然我可以将其设计为具有试用时间框架并在之后“锁定”,但我无法确定之后如何有效地解锁它。由于我对这种类型的开发完全陌生,我希望能以最好的方式得到一点帮助。

客户是否在试用后购买产品并与我联系并我向他们发送解锁码?Java API 中是否有一个库可以连接到谷歌市场并确定用户购买了产品,然后可以通过这种方式解锁?

编辑:该程序目前只能在 Android 平板电脑上运行,据我了解,并非所有平板电脑都具有蜂窝服务,因此连接性更加有限。

试用时间框架应该像记录第一次运行的时间一样简单,然后如果程序在 X 天(或几小时或其他任何时间)后运行,请将其锁定。这只会在启动时测试,因为我需要允许用户在我锁定他们之前完成他们当前的程序提交。

至于计费,该程序本身将有一个类似于 MMO 游戏的付费计划。现在以 X 美元购买,然后以 Y 美元订阅(目前计划获得年度许可),或者可能首次计费包括首次订阅。Billing API 如何处理这种情况?我需要为该计划向他们收费,然后为许可证收费,然后要求他们在我认为最好的任何时间范围内更新许可证。

0 投票
2 回答
1834 浏览

android - Android,如何检查应用程序的试用期是否已过期?

我的应用程序中有几个包,用户可以根据不同的价格选择每个包。在服务器端,我存储了一些客户端信息,例如设备 ID、Android ID 等。

根据用户选择的套餐,例如用户选择了 2 小时计划,服务器向我发送过期时间并将其存储在本地数据库中。

问题是检查试用期是否过期的最佳方法是什么?如果用户在 12:00 购买 2 小时计划,则到期时间为 14:00。我将 14:00 存储在数据库中,每次应用程序午餐时,我都会检查数据库。但问题是如果我们假设用户正在使用应用程序如何关闭应用程序或提示用户计划已过期?如果手机的时间被用户更改,我如何理解?

使用服务是最好的方式吗?你有什么建议?

============== 更新:

我忘了说的一点是,由于我们办公室的一些限制,我只能访问我正在设计的三个活动,我不能问其他正在从事这个项目的开发人员,检查这个并检查那个或使用这个变量。但是因为我正在从事主要活动,所以这个活动是唯一可以访问数据库的活动。

0 投票
1 回答
469 浏览

android - 如何不让用户在到期后使用应用程序?

在我的应用程序中,我让用户根据不同的计划购买应用程序,例如 2 小时免费、1 天、1 周等。

我不想让用户在到期后使用该应用程序。我创建了一个服务并在主要活动中设置了警报,在服务中我告诉过在到期时间后打开主要活动。

主活动中设置闹钟的代码:

服务代码:

到目前为止一切正常,即使我的主要活动被破坏,服务也可以再次运行它。但我认为在android中,不幸的是,应用程序是由几个活动构建的,因此,我们无法从一个活动中停止应用程序。我的意思是说?我们有完成()方法,它将终止活动,但它不能关闭整个应用程序。因此,在终止应用程序的活动后,该应用程序的先前活动将显示。

所以,回到我的故事。例如 30 秒后(根据上面的代码)服务将运行我的主要活动。但是如果用户轻松点击返回按钮会发生什么?她/他可以回到应用程序的先前活动并继续他的使用。

一个好的建议是创建共享首选项,在服务中我更改一个标志,并在每个活动的 onStart() 中检查它。我认为它有效,但不好的是我正在开发一个包装器,它应该添加到其他项目中,我不能要求其他开发人员添加或检查它。

你的建议是什么?无论如何不要让用户在到期后继续使用应用程序?

=======> 更新:

备查。我使用了FLAG_ACTIVITY_CLEAR_TOP并且问题解决了。现在,即使用户单击后退按钮,主要活动和最后活动之间的所有活动都将清除。根据其文档:

如果设置,并且正在启动的活动已经在当前任务中运行,那么不会启动该活动的新实例,而是关闭它上面的所有其他活动,并且此 Intent 将被传递到(现在顶部)作为新意图的旧活动。

例如,考虑一个由以下活动组成的任务:A、B、C、D。如果 D 调用 startActivity() 并带有一个解析为活动 B 的组件的 Intent,那么 C 和 D 将完成并且 B 接收给定的 Intent ,导致堆栈现在是:A,B。

0 投票
2 回答
1215 浏览

android - 如何让应用程序识别它之前是否安装在此设备上,如果是,那么何时(日期)?

我正在制作一个应用程序。它有免费试用版和高级版。免费版作为高级版运行 7 天,之后会提示用户购买高级版并退出。为此,我想出了一些想法,例如作为:

1)唯一识别设备并将该唯一ID和日期发送到服务器。并在启动时检查此设备的应用程序是否超过7天,如果有则阻止它。当用户卸载应用程序并在注册后再次安装时服务器应用程序将被阻止。我已经阅读了一些唯一识别设备的方法。但是正如这个链接所暗示的那样,它们都不可靠,并且不适用于每个设备和操作系统版本。

2)我可以将一个文件写入 sdcard 指示应用程序安装,并在第一次运行时检查该特定文件以检测重新安装。但用户可以轻松删除该文件并重新安装应用程序,从而获得另一个试用 7不能接受的天数。

有没有办法可以实现我的目标?