出现网络超时情况时,Google Play 应用内结算服务{ice,er} V3 将返回哪些响应状态代码?它的所有功能都是统一的吗?
我将在这里描述我的发现。我通过拔掉主机插头,在安装了全功能 GP(GP Store V3.10.10、GP Services 2.0.12、G Services Framework 4.1.2)的 AVD 上对此进行了测试。
- The
getPurchases()
如果可能的话,方法返回缓存的结果(请注意,我们not谈论缓存服务之外这里但是一个directgetPurchases 的调用)。当然,这意味着几乎总是会得到缓存的结果,除非由于本地数据丢失而重新初始化服务——这种情况不太可能发生,并且通常不需要在服务器上以特殊方式处理。应用级别。
- The
consumePurchase()
方法将返回整数值 6 (BILLING_RESPONSE_RESULT_ERROR
)在假定的内部网络超时 20 秒之后(因此添加一点时间,直到调用者看到结果代码)。尽管我怀疑这一点BILLING_RESPONSE_RESULT_ERROR
被描述为Fatal error during the API action
因为这里没有其他错误代码有意义;不幸的是,这个词fatal对于诸如超时之类的临时情况仍然有些不合适。
-
getSkuDetails()
看起来就像consumePurchase()
. Update: 现在有证据表明getSkuDetails()
也可以访问本地服务中的缓存信息。
- 看起来好像
getBuyIntent()
如果服务已经知道该项目,则无需连接即可正常工作。这解释了为什么 Hartok 会看到空白的 GP 购买屏幕:在没有连接的情况下从 IAB V3 获取购买意向不是问题。
结论:应用内计费服务 V3 似乎可以使用内部缓存和 20 秒的服务器连接超时。对于本地缓存无法解决的服务器通信错误,使用响应代码 6。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)