我用订阅创建了android app(xamarin表单)。我在自己的服务上处理订阅。但有一点,文档引用:
请注意,用户希望能够在任何地方使用您的应用 时间,包括可能没有网络连接的时间。 确保您的购买验证方法适用于 离线用例。
如果缺少Internet连接,如何实施此检查? 我的想法是在设备上存储关于当前订阅的“本地标签”(在数据库或文件中)。但这不可靠,容易打破。 我还找到了有关android keystore的信息。但它看起来很复杂。
任何想法和建议。
答案 0 :(得分:1)
据说存在大量本地存储订阅信息的方法。一种方法是,以不对称的方式加密订阅信息
可以通过从客户端获取公钥来读取许可文件(毕竟它是公共的),因此如果你真的想确定,你不应该在其中存储任何敏感信息,但它不应该伪造许可证,因为这将需要私钥,这是未知的。由于客户端传递了设备代码,因此无法将许可证文件复制到其他设备。
此外,您可以给许可证一个到期日期,之后客户将被告知xe必须上线续订许可证。
备注:您永远不会相信在您无法完全控制的设备上运行的代码,因此可能始终存在绕过安全措施的方法。