0

我正在考虑将当前付费的 Android 应用程序设为免费的可能性,但宽限期是根据应用程序的实际使用情况计算的。我的问题是关于 Android 许可的实际运作方式以及如何探索其可能性。

我想到的方案如下:

  1. 用户免费下载该应用程序
  2. 用户可以自由使用它N多次,计数器在特定成功操作后递增
  3. 之后出现一个唠叨屏幕,用户必须停止使用该应用程序或从市场购买无限制许可证

实际上,另一种制作宽限期的方法不是基于时间的。

特别是,我必须确保绝不允许用户通过从设置菜单中删除应用数据来重置计数器。

实际上,如果我在存储在磁盘中SharedPreferences或磁盘上的计数器中编写上述要求,并在第一次启动时重置一个普通计数器(当应用程序存储为空时),那么用户可以作弊并通过以下方式重置计数器删除与应用程序关联的数据。

我想知道 Google 许可服务是否允许操作远程存储的数据。在我的例子中,我可以远程增加我的计数器,这样当应用程序第一次启动时,它会检查计数器的远程值,而不是存储在本地设备上的值。

4

1 回答 1

0

Google 的许可验证库 (LVL) 似乎提供了您想要做的大部分事情。它实际上提供了更多的东西,比如混淆等。

  1. 政策概述
  2. 如何为其搭建开发环境
  3. 如何在您的应用程序中实现 API

用户最多可以自由使用 N 次,其中计数器在特定成功操作后递增

要了解这是如何实现的,请在此处阅读有关可设置为许可证一部分的重试期限和最大重试次数。

我想知道 Google 许可服务是否允许操作远程存储的数据。就我而言,我可以远程增加我的计数器,这样当应用程序第一次启动时,它会检查计数器的远程值,而不是存储在本地设备上的值。

这是你可以做的:

  1. GRLicense 文件的额外标签中,存储一个 App 在系统上可以使用多少次。

  2. 对许可证执行“严格政策”

  3. 在应用程序每次启动时向服务器发送一个请求(带有唯一的设备/用户 ID),以返回应用程序启动的次数。

  4. 检查收到的这个值和GR标签的值,看看是否可以运行应用程序。

    一世。如果有效,请运行应用程序并向您的服务器发送请求(使用唯一的设备/用户 ID)以增加有关此应用程序已使用次数的计数器并将此记录保留在那里。

    ii. 否则显示一条烦人的消息并退出。

我引用 LVL 的“严格政策”:

LVL 包括一个称为 StrictPolicy 的 Policy 接口的替代完整实现。StrictPolicy 实现 提供了比 ServerManagedPolicy 更严格的策略,因为它不允许用户访问应用程序,除非在访问时从服务器接收到许可响应,表明用户已获得许可。StrictPolicy 的主要特点是它不会在本地存储任何许可证响应数据,在持久存储中。因为没有存储数据,所以不会跟踪重试请求,并且缓存的响应不能用于完成许可证检查。

于 2012-12-27T12:57:37.780 回答