2011-06-28 49 views
3

一家公司想要购买我的应用程序的大量许可证。他们不希望个别设备用户在其个人Google帐户中进行购买。另外,我宁愿不去建立一个解锁的apk,因为它怕被分发。除了执行某种许可证服务器,向他们提供许可证密钥以及将许可证密钥与设备ID相关联之外,我还有其他智能选项吗?Android:批量授权?

我搜索了很多解决方案,但找不到任何东西。任何意见将是有益的。

回答

3

解决方案 - 创建第二个应用程序,它镜像原始应用程序,但启动时需要密码才能激活。将该应用程序投放市场并为该公司提供密码。

这样做的好处是您不需要许可证服务器。当然,糟糕的是,如果密码泄露到外面,你就会沉没。

此外,你可以告诉他们的密码,并解释它的有效期为一个月。要么密码自动过期,要么只是推送更新。

2

另一种方法:构建应用程序的特殊版本,该应用程序在首次启动时甚至每隔一段时间都会遇到挑战。挑战可能是一个伪随机数 - 即使只是设备ID的一部分也是如此。响应是对挑战的一些计算 - 例如与今天的日期混合,并交换一些字节。

您实施了受密码保护的Web服务器,您将该密码提供给公司。每次使用Web服务器发布新的响应代码时,您都会增加公司使用的许可证数量。

该应用程序提出了挑战,用户使用公司的密码登录到您的网页,输入挑战并收到回复。如果应用程序对挑战作出正确回应,该应用程序才会进行注册。为了给客户更多的安全性,您可以通过电子邮件发送给用户(必须提供公司可能希望用于内部会计目的的电子邮件地址),您甚至可以阻止不在客户域中的电子邮件地址。

公司有责任保证其密码安全。他们可能希望能够更改密码,以防未经授权的用户在其帐户中注册。

优点是这是一个非常简单的系统设置,没有设置许可证服务器,也没有分配许可证密钥的麻烦,您可以集中控制(访问)许可证号码,责任在于该公司保持密码安全。