Questions tagged «android-billing»

8
为什么使用应用内结算设置开发人员有效负载很重要?
我正在使用应用内结算API的版本3。我有一个受管理的非消耗性物品。我尚未在我的应用程序中发布此功能,因此我想在购买之前确定购买的有效载荷内容。 来自“安全最佳实践”: 发出购买请求时设置开发人员有效负载字符串 使用应用内结算第3版API,在将购买请求发送到Google Play时,您可以包括“开发人员有效载荷”字符串令牌。通常,这用于传递唯一标识此购买请求的字符串令牌。如果您指定字符串值,则Google Play会返回此字符串以及购买响应。随后,当您对此次购买进行查询时,Google Play会返回此字符串以及购买详细信息。 您应该传递一个字符串令牌,该令牌可以帮助您的应用程序识别进行购买的用户,以便以后可以验证该用户是否进行了合法购买。对于消耗品,您可以使用随机生成的字符串,但是对于非消耗品,则应该使用唯一标识用户的字符串。 当您从Google Play取回响应时,请确保验证开发人员有效负载字符串与您先前与购买请求一起发送的令牌匹配。作为进一步的安全预防措施,您应该在自己的安全服务器上执行验证。 对与错,我决定不采取设置服务器以进行购买验证的“进一步的安全预防措施”。而且我不会存储自己的购买记录-我总是调用计费API。那么,我真的有理由进行此有效负载验证吗?验证API本身在举报购买商品之前肯定会验证用户的身份,并且如果攻击者破坏了设备(应用程序或Google Play API),我看不出对其进行额外检查会没有任何好处用户在设备上可以轻易绕过的身份。还是有我没有想到的这样做的理由?

19
Android应用内结算:由于其他异步操作(正在进行中),因此无法启动异步操作
我正在使用IabHelperGoogle教程推荐的实用程序类,但这个错误对我造成了沉重的打击。显然IabHelper不能同时运行多个异步操作。我什至设法通过在库存盘点过程中开始购买来实现目标。 我已经尝试onActivityResult按照这里的建议在主类中实现,但是在出现错误之前,我什至没有得到该方法的调用。然后我找到了这个,但是我不知道在哪里可以找到这个flagEndAsync方法-它不在IabHelper类中。 现在,我正在寻找解决此问题的方法(而无需重新实现整个功能)。我能想到的唯一解决方案是创建一个布尔字段asyncActive,该字段在启动异步任务之前已检查,如果有另一个任务处于活动状态,则不执行此操作。但这还有许多其他问题,并且不适用于所有活动。另外,我更希望有一个异步任务队列并在允许的情况下尽快运行,而不是根本不运行。 这个问题有解决方案吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.