如果“GPRS”指的是蜂窝数据……那么不,这是不可能的。 Android Market 是一项互联网服务,许可检查需要 IP 连接。这是没有办法解决的。
(来源:我是 Android LVL 的作者之一。)
If by "GPRS" you mean cellular data... then no, this isn't possible. Android Market is an Internet service, and the licensing checks require IP connectivity. There is no way around this.
(Source: I'm one of the authors of the Android LVL.)
One possible way is to build a two-app copy-protection scheme. Your real app (the one with the sensitive data) would check the presence of another app on the phone. The secondary app does not contain any sensitive data, but does require the IP connection in order to use LVL.
Obviously, a blank check for the presence of the second app package is not sufficient. The actual mechanism by which the two apps communicate should be a bit more complex. one possible way is to use the AccountManager and create an account which keeps a token created by the second app, which the first app validates. The second app will create that token only after it successfully validated itself through LVL.
However, the user experience around this is far from ideal. It will require the users to download the second app, and run it at least once. Still, it will give enough separation between the licensing mechanism and the sensitive data app, that it might alleviate your users concerns.
You can think about removing the LVL altogether. This results in: - happy customers. Your app will have be impecable track record regarding this extremeley sensitive topic. - lost sales to piracy. Has your app has been cracked already ? You may not loose that much money. You may even generate more sales, due to increased confidence in your app.
I'm not saying you should remove the LVL check, but maybe give it a thought. Since the core of your app is about safety, I think you should remove an doubt about it. Your customers will give you another star for this.
发布评论
评论(3)
如果“GPRS”指的是蜂窝数据……那么不,这是不可能的。 Android Market 是一项互联网服务,许可检查需要 IP 连接。这是没有办法解决的。
(来源:我是 Android LVL 的作者之一。)
If by "GPRS" you mean cellular data... then no, this isn't possible. Android Market is an Internet service, and the licensing checks require IP connectivity. There is no way around this.
(Source: I'm one of the authors of the Android LVL.)
一种可能的方法是构建两个应用程序的复制保护方案。您的真实应用程序(包含敏感数据的应用程序)将检查手机上是否存在另一个应用程序。辅助应用程序不包含任何敏感数据,但需要 IP 连接才能使用 LVL。
显然,对第二个应用程序包是否存在进行空白检查是不够的。两个应用程序通信的实际机制应该更复杂一些。一种可能的方法是使用 AccountManager 并创建一个帐户,该帐户保留由第二个应用程序创建的令牌,第一个应用程序会验证该令牌。第二个应用程序仅在通过 LVL 成功验证自身后才会创建该令牌。
然而,这方面的用户体验远非理想。它将要求用户下载第二个应用程序,并至少运行一次。尽管如此,它仍将在许可机制和敏感数据应用程序之间提供足够的分离,这可能会减轻用户的担忧。
One possible way is to build a two-app copy-protection scheme. Your real app (the one with the sensitive data) would check the presence of another app on the phone. The secondary app does not contain any sensitive data, but does require the IP connection in order to use LVL.
Obviously, a blank check for the presence of the second app package is not sufficient. The actual mechanism by which the two apps communicate should be a bit more complex. one possible way is to use the AccountManager and create an account which keeps a token created by the second app, which the first app validates. The second app will create that token only after it successfully validated itself through LVL.
However, the user experience around this is far from ideal. It will require the users to download the second app, and run it at least once. Still, it will give enough separation between the licensing mechanism and the sensitive data app, that it might alleviate your users concerns.
您可以考虑完全移除 LVL。
结果是:
- 快乐的顾客。您的应用程序将在这个极其敏感的主题方面拥有无可挑剔的记录。
- 盗版导致销量下降。您的应用程序已经被破解了吗?你可能不会损失那么多钱。由于对您的应用程序的信心增强,您甚至可能会产生更多销售额。
我并不是说您应该删除 LVL 检查,但也许您应该考虑一下。由于您的应用程序的核心是安全性,我认为您应该消除对此的疑虑。您的客户会为此再给您一颗星星。
You can think about removing the LVL altogether.
This results in:
- happy customers. Your app will have be impecable track record regarding this extremeley sensitive topic.
- lost sales to piracy. Has your app has been cracked already ? You may not loose that much money. You may even generate more sales, due to increased confidence in your app.
I'm not saying you should remove the LVL check, but maybe give it a thought. Since the core of your app is about safety, I think you should remove an doubt about it. Your customers will give you another star for this.