我正在使用Android许可,如下所述:
http://developer.android.com/guide/market/licensing/index.html
(...验证我的Android应用程序的客户是否实际支付了应用程序.)我的应用程序在Web上有一个服务器组件,为了更加安全,我正在此服务器上进行许可证验证.
一切正常.现在,我的问题.由于每个新用户都占用了我的中央服务器上的资源,我实际上不愿意让非付费用户.我已经看到一些证据表明用户在获得退款后继续使用该应用程序(按照正常的15分钟宽限期).
为了遏制这种行为,如果有某种方法可以将Google Checkout上的用户付款映射到我系统中的实际用户,那就太棒了.这可能吗?
我从android许可证服务器收到的ResponseData包含一个名为"userId"的字段,但这似乎与Google Checkout中的任何信息都不对应.(有关ResponseData的定义,请参阅http://www.androidadb.com/source/skylight1-read-only/GoogleLVL/src/com/android/vending/licensing/ResponseData.java.html.)
是否可以确定Checkout中哪个付款映射到哪个应用安装?
据我目前的了解,userId即使在每个应用程序的基础上,它也会被混淆,这样您就可以唯一地识别每个应用程序的用户,但无法确定它是哪个用户,也无法确定同一用户是否购买了另一个应用程序。
但我不确定您是否真的需要根据 来识别这些客户userId。如果您有服务器正在运行,保护您的应用程序的最佳方法是让您的服务器检查许可证。
在这种情况下,即使用户弄乱了您的 LVL 检查代码,您也不会验证用户身份。
但是,如果您不注意步骤,您当然可能会在第 6 步之后引入漏洞。不过,如果您当前正在使用标准 LVL 代码和应用程序端许可证检查以及存储在应用程序中的密钥,则更改为上面概述的机制将是一个巨大的改进(甚至有一个脚本可以删除标准 LVL 检查代码)来自应用程序)。
| 归档时间: |
|
| 查看次数: |
428 次 |
| 最近记录: |