使用计数器和LVL的有效宽限期

时间:2012-04-12 19:11:13

标签: android google-play android-lvl

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

我想到的方案如下:

  1. 用户免费下载应用
  2. 允许用户自由使用它N次,计数器在特定成功操作后递增
  3. 之后会出现一个唠叨屏幕,用户必须停止使用该应用程序或从市场购买无限制许可证
  4. 实际上是制作宽限期的另一种方式,而不是基于时间的。

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

    事实上,如果我在存储在SharedPreferences或磁盘上的计数器中编写上述要求,并使用在第一次启动时重置的普通计数器(当应用程序存储为空时),则用户可以通过删除与应用程序关联的数据来欺骗和重置计数器。

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

1 个答案:

答案 0 :(得分:0)

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

  1. Overview of the policy
  2. How to set up the development environment for it
  3. How to implement the APIs in your App
  4.   

    允许用户在计数器所在的地方自由使用N次   在特定成功的行动之后递增

    要了解如何实现此操作,请阅读here有关重试期和最大重试次数的信息,该次数可以设置为许可证的一部分。

      

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

    这是你可以做的:

    1. 在许可证文件的GR额外标签中,存储可在系统上使用应用程序的次数。

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

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

    4. 使用GR标记的值检查收到的值,看看是否可以运行App。

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

      II。否则显示唠叨消息并退出。

    5. 引用LVL的“严格政策”:

        

      LVL包括该政策的替代完整实施   接口名为StrictPolicy。 StrictPolicy实现   提供了比ServerManagedPolicy更严格的策略   除非获得许可,否则不允许用户访问该应用程序   在访问时从服务器接收响应   表示用户已获得许可。主要功能   StrictPolicy是它不存储任何许可证响应数据   本地,在持久性商店中。由于没有存储数据,请重试   请求未被跟踪,缓存响应不能用于   完成许可证检查。