• <i id='RjL9B'><tr id='RjL9B'><dt id='RjL9B'><q id='RjL9B'><span id='RjL9B'><b id='RjL9B'><form id='RjL9B'><ins id='RjL9B'></ins><ul id='RjL9B'></ul><sub id='RjL9B'></sub></form><legend id='RjL9B'></legend><bdo id='RjL9B'><pre id='RjL9B'><center id='RjL9B'></center></pre></bdo></b><th id='RjL9B'></th></span></q></dt></tr></i><div id='RjL9B'><tfoot id='RjL9B'></tfoot><dl id='RjL9B'><fieldset id='RjL9B'></fieldset></dl></div>
    <legend id='RjL9B'><style id='RjL9B'><dir id='RjL9B'><q id='RjL9B'></q></dir></style></legend>

        <bdo id='RjL9B'></bdo><ul id='RjL9B'></ul>

        <small id='RjL9B'></small><noframes id='RjL9B'>

      1. <tfoot id='RjL9B'></tfoot>

        Android:应用内计费 V3 超时返回哪个响应代码?

        时间:2023-11-09

      2. <tfoot id='dgLX5'></tfoot>
          <bdo id='dgLX5'></bdo><ul id='dgLX5'></ul>
          <i id='dgLX5'><tr id='dgLX5'><dt id='dgLX5'><q id='dgLX5'><span id='dgLX5'><b id='dgLX5'><form id='dgLX5'><ins id='dgLX5'></ins><ul id='dgLX5'></ul><sub id='dgLX5'></sub></form><legend id='dgLX5'></legend><bdo id='dgLX5'><pre id='dgLX5'><center id='dgLX5'></center></pre></bdo></b><th id='dgLX5'></th></span></q></dt></tr></i><div id='dgLX5'><tfoot id='dgLX5'></tfoot><dl id='dgLX5'><fieldset id='dgLX5'></fieldset></dl></div>

            <legend id='dgLX5'><style id='dgLX5'><dir id='dgLX5'><q id='dgLX5'></q></dir></style></legend>
                    <tbody id='dgLX5'></tbody>
                1. <small id='dgLX5'></small><noframes id='dgLX5'>

                  本文介绍了Android:应用内计费 V3 超时返回哪个响应代码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  Google Play 应用内结算服务{ice,er} V3 将在网络超时条件下返回哪些响应状态代码?这是所有功能中的统一吗?

                  Which response status code(s) will the Google Play In-App Billing Serv{ice,er} V3 return upon a network timeout condition? Is this uniform amongst all of its functions?

                  推荐答案

                  我将在这里描述我的发现.我已经在安装了全功能 GP(GP Store V3.10.10、GP Services 2.0.12、G Services Framework 4.1.2)的 AVD 上测试了这一点,方法是拔掉主机的插头.

                  I will describe my findings here. I have tested this on an AVD with a fully featured GP installed (GP Store V3.10.10, GP Services 2.0.12, G Services Framework 4.1.2), by pulling the host's plug.

                  • 如果可能,getPurchases() 方法会返回一个缓存的结果(请注意,我们不是谈论的是服务之外的缓存 这里只是直接调用 getPurchases).当然,这意味着几乎总是会得到一个缓存的结果,除非由于本地数据丢失而重新初始化服务 - 这种情况不太可能并且通常不需要在应用级别.
                  • consumePurchase() 方法将在假定的内部网络超时 20 秒后返回整数值 6 (BILLING_RESPONSE_RESULT_ERROR)(所以在结果之前增加一点时间代码被调用者看到).尽管 BILLING_RESPONSE_RESULT_ERROR 被描述为 API 操作期间的致命错误,但我还是怀疑这一点,因为这里没有其他错误代码有意义;不幸的是,fatal 这个词对于诸如超时之类的临时情况来说仍然有些不合适.
                  • getSkuDetails() 的行为似乎与 consumePurchase() 类似.更新:现在有证据表明 getSkuDetails() 也可以访问本地服务中的缓存信息.
                  • 如果服务已经知道该项目,那么看起来 getBuyIntent() 在没有连接的情况下也能正常工作.这解释了 Hartok 看到空白 GP 购买屏幕的原因:在没有连接的情况下从 IAB V3 获得购买意图不是问题.
                  • The getPurchases() method returns a cached result if possible (please note that we're not talking about a cache outside of the Service here but a direct call of getPurchases). Of course, this means that one will almost always get a cached result except when the Service is being re-initialized due to the loss of local data -- a case which is not very likely and often needs not be treated in special ways on the application level.
                  • The consumePurchase() method will return the integer value 6 (BILLING_RESPONSE_RESULT_ERROR) after a presumed internal net timeout of 20 seconds (so add a bit of time until the result code is seen by the caller). I was suspecting this despite BILLING_RESPONSE_RESULT_ERROR being described as a Fatal error during the API action because no other error code would make sense here; unfortunately, the word fatal is still somewhat inappropriate for a temporary condition such as a timeout.
                  • getSkuDetails() appears to behave just like consumePurchase(). Update: There's now evidence that getSkuDetails() can access cached information within the local service, too.
                  • It looks as if getBuyIntent() works fine without connectivity if the item is already known to the service. This explains why Hartok sees a blank GP purchase screen: It's not a problem to get a buy intent from the IAB V3 without connectivity.

                  结论:In-App Billing Service V3 似乎可以使用内部缓存和 20 秒的服务器连接超时.对于本地缓存无法解决的服务器通信错误,使用响应代码 6.

                  Conclusion: The In-App Billing Service V3 appears to work with an internal cache and a server connection timeout of 20 seconds. For server communication errors which the local cache cannot resolve, response code 6 is used.

                  这篇关于Android:应用内计费 V3 超时返回哪个响应代码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:“您的设备与此版本不兼容" 下一篇:在弹出窗口中打开 Google Play(如 Vimeo、Wisher、Buzzfeed)- Instant App

                  相关文章

                      <i id='fzPNH'><tr id='fzPNH'><dt id='fzPNH'><q id='fzPNH'><span id='fzPNH'><b id='fzPNH'><form id='fzPNH'><ins id='fzPNH'></ins><ul id='fzPNH'></ul><sub id='fzPNH'></sub></form><legend id='fzPNH'></legend><bdo id='fzPNH'><pre id='fzPNH'><center id='fzPNH'></center></pre></bdo></b><th id='fzPNH'></th></span></q></dt></tr></i><div id='fzPNH'><tfoot id='fzPNH'></tfoot><dl id='fzPNH'><fieldset id='fzPNH'></fieldset></dl></div>
                      • <bdo id='fzPNH'></bdo><ul id='fzPNH'></ul>
                    1. <legend id='fzPNH'><style id='fzPNH'><dir id='fzPNH'><q id='fzPNH'></q></dir></style></legend>

                      <small id='fzPNH'></small><noframes id='fzPNH'>

                    2. <tfoot id='fzPNH'></tfoot>