我正在考虑将当前付费的Android应用程序设为免费但可以使用应用程序的实际利用率计算的宽限期。我的问题是关于Android许可的实际工作方式以及如何探索其可能性。
我想到的方案如下:
N
次,计数器在特定成功操作后递增实际上是制作宽限期的另一种方式,而不是基于时间的。
特别是,我必须确保绝不允许用户 通过从设置菜单中删除应用数据来重置计数器。
事实上,如果我在存储在SharedPreferences
或磁盘上的计数器中编写上述要求,并使用在第一次启动时重置的普通计数器(当应用程序存储为空时),则用户可以通过删除与应用程序关联的数据来欺骗和重置计数器。
我想知道Google Licensing服务是否允许操作远程存储的数据。在我的情况下,我可以远程递增我的计数器,以便当应用程序第一次启动时,它会检查计数器的远程值而不是存储在本地设备上的值。
答案 0 :(得分:0)
Google的许可验证库(LVL)似乎提供了您想要做的大部分内容。它实际上提供了更多的东西,如混淆等。
允许用户在计数器所在的地方自由使用N次 在特定成功的行动之后递增
要了解如何实现此操作,请阅读here有关重试期和最大重试次数的信息,该次数可以设置为许可证的一部分。
我想知道Google许可服务是否允许操作 远程存储的数据。在我的情况下,我可以远程增加 我的计数器,以便当应用程序第一次启动时它会检查 对于计数器的远程值而不是存储的值 本地设备。
这是你可以做的:
在许可证文件的GR
额外标签中,存储可在系统上使用应用程序的次数。
在许可证上执行“严格政策”
在应用程序的每次启动时,向服务器发送请求(使用唯一的设备/用户ID),以便返回应用程序启动的时间。
使用GR
标记的值检查收到的值,看看是否可以运行App。
我。如果有效,请运行应用程序并向您的服务器发送请求(使用唯一的设备/用户ID)以增加计数器有关此应用程序使用次数的信息,并将此记录保存在那里。
II。否则显示唠叨消息并退出。
引用LVL的“严格政策”:
LVL包括该政策的替代完整实施 接口名为StrictPolicy。 StrictPolicy实现 提供了比ServerManagedPolicy更严格的策略 除非获得许可,否则不允许用户访问该应用程序 在访问时从服务器接收响应 表示用户已获得许可。主要功能 StrictPolicy是它不存储任何许可证响应数据 本地,在持久性商店中。由于没有存储数据,请重试 请求未被跟踪,缓存响应不能用于 完成许可证检查。