Android:在超时后,应用内结算V3会返回哪些响应代码?

在网络超时情况下,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.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...