我刚刚在我的应用程序中实现了LVL。我首先在我的developper帐户设置中将测试响应设置为"LICENSED“,=>一切都正常工作;我收到了这个答案。
当我将测试响应更改为"NOT_LICENSED“时,即使在更改了开发人员帐户中的值两个小时后,我仍然在我的应用程序中获得”许可“的结果。
你知道怎么解决这个问题吗?
发布于 2012-06-23 22:43:28
正如您所知道的,并且已经在一条评论中写过,ServerManagedPolicy有一个缓存。这意味着一旦你得到一个肯定的响应,只要它是有效的,这个响应就会被接受。在最后一个肯定响应的有效期内,即使您已连接,应用程序也不会与授权服务器联系。缓存不仅可以脱机使用,还可以避免过多耗时的网络查询。
下面是你应该做的:代替ServerManagedPolicy
mChecker = new LicenseChecker(this,//
new ServerManagedPolicy(this,
new AESObfuscator(SALT,getPackageName(),
deviceId)), //
BASE64_PUBLIC_KEY // The public licensing key.
);使用StrictPolicy
mChecker = new LicenseChecker(this, new StrictPolicy(), BASE64_PUBLIC_KEY);试一试它是否有效。当您完成测试后,将其更改回来,以便您的用户可以从ServerManagedPolicy的缓存中获益。
https://stackoverflow.com/questions/7178164
复制相似问题