我似乎已经走到了尽头,我怎么能创造一个在我想到的场景下运作良好的合适模型。
情景如下;用户从Google Play购买应用程序。在运行时,我请求用户凭据(与当前设备关联的Google帐户),然后我将其转移到Web服务。此时,后端服务尝试验证用户并确定他们是否实际购买了相关应用程序,然后仅返回与请求相关的任何数据。 (请记住,在运行时生命周期的任何一点,任何一般的请求,例如我们在谈论基于内容的应用程序,都必须始终通过上述管道)。
现在上述情况如此具体的原因是由于以下原因; - 我希望一切都由终端服务管理,而不是让任何Auth进程本地运行,因为它可能很容易被绕过。我的意思是,只要任何人都可以在他们的设备上反编译应用程序,检查代码,根据需要重新编译代码,如果设备已植根,则可以完全访问任何文件,甚至可以清除与应用程序相关的任何数据只需按下android的应用程序设置中的“清除数据”选项......除了上面描述的那个之外,我没有看到任何其他可行的场景。
现在我已经说过以上所有问题了,谷歌似乎并不喜欢Google Play开发者api和Google+ api的特定情况。
所以我非常感谢您就我提到的场景以及解决此问题的方法提供的评论,想法和相关材料。
答案 0 :(得分:1)
我不知道您可以使用任何此类API。为什么不尝试LVL,这可以确保它实际上是从Android市场下载的?如果它是一个付费应用程序,用户必须已经明确支付它。
就反编译而言,请尝试Proguard。这不是100%完美的解决方案,但要打破它是非常困难的。
现在,来看内容。如果您不希望其他人窃取您的内容,请加密并保存。您可以拥有一个非常好的加密机制,可以与您的Web服务一起使用,这将确保它非常难以打破。
答案 1 :(得分:1)
使用LVL和ProGuard有什么问题?这些工具专门用于解决您在许可证验证和逆向工程方面的顾虑。
而且,真的不要太担心可能试图免费获得付费应用的千人中的那一个。如果您的应用程序有任何优点,那么无论如何您都将获得大量销售。
答案 2 :(得分:0)
如果我正确阅读了您的提案,这听起来严重违反了用户的隐私,肯定会违反Google的ToS。为什么您的用户会为您提供私人凭据?它们不应该被赋予任何人,那么他们为什么要相信你或你的系统呢?如果你被黑客攻击并且凭证被盗,你也要承担责任。