cla*_*ker 6 android in-app-billing google-play
在网络超时情况下,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).当然,这意味着一个人几乎总是得到一个缓存的结果,除非由于本地数据的丢失而重新初始化服务 - 这种情况不太可能并且通常不需要以特殊方式对待应用水平.consumePurchase()方法将返回整数值6(BILLING_RESPONSE_RESULT_ERROR)(因此在调用者看到结果代码之前添加一点时间).尽管BILLING_RESPONSE_RESULT_ERROR被描述为是Fatal error during the API action因为没有其他错误代码在这里有意义,但我怀疑这一点; 不幸的是,致命一词仍然不适合临时条件,例如超时.getSkuDetails()似乎表现得像consumePurchase().更新:现在有证据表明getSkuDetails()可以访问本地服务中的缓存信息.getBuyIntent()如果该项目已为服务所知,则看起来好像没有连接就可以正常工作.这就解释了为什么Hartok看到一个空白的GP购买屏幕:没有连接就从IAB V3获得购买意图不是问题.结论:应用内结算服务V3似乎与内部缓存和服务器连接超时20秒一起使用.对于本地高速缓存无法解析的服务器通信错误,使用响应代码6.
| 归档时间: |
|
| 查看次数: |
6244 次 |
| 最近记录: |