在网络超时情况下,Google Play应用内结算服务{ice,er} V3将返回哪些响应状态代码?它的所有功能都是统一的吗?
解决方法
我将在这里描述我的发现.我已经在装有全功能GP的AVD(GP Store V3.10.10,GP Services 2.0.12,G Services Framework 4.1.2)上测试了这个,通过拔出主机插头.
>如果可能,getPurchases()方法返回缓存结果(请注意,我们不是在讨论服务之外的缓存,而是直接调用getPurchases).当然,这意味着一个人几乎总是得到一个缓存的结果,除非由于本地数据的丢失而重新初始化服务 – 这种情况不太可能并且通常不需要以特殊方式对待应用水平.
>在假定的内部网络超时为20秒后,consumePurchase()方法将返回整数值6(BILLING_RESPONSE_RESULT_ERROR)(因此添加一些时间直到调用者看到结果代码).尽管BILLING_RESPONSE_RESULT_ERROR在API操作期间被描述为致命错误,但我怀疑这是因为没有其他错误代码在这里有意义;不幸的是,致命一词仍然不适合临时条件,例如超时.
> getSkuDetails()似乎表现得像consumePurchase().更新:现在有证据表明getSkuDetails()也可以访问本地服务中的缓存信息.
>如果服务已知该项,则getBuyIntent()看起来好像没有连接.这就解释了为什么Hartok看到一个空白的GP购买屏幕:没有连接就从IAB V3获得购买意图不是问题.
结论:应用内结算服务V3似乎与内部缓存和服务器连接超时20秒一起使用.对于本地高速缓存无法解析的服务器通信错误,使用响应代码6.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。