Ted*_*opp 6 android android-billing play-billing-library
我正在使用 Google 的 Billing Library 4。文档说BillingClient.launchBillingFlow:
启动应用内购买或订阅的计费流程。
它将显示 Google Play 购买屏幕。结果将通过
PurchasesUpdatedListener所设置的接口实现传递BillingClient.Builder.setListener(PurchasesUpdatedListener)。
传递PurchasesUpdatedListener一个BillingResult包含响应代码的对象。但是,该launchBillingFlow方法还返回一个BillingResult对象。我的问题是,我需要在每个地方处理哪些响应代码?
容我们说,该文档不太清楚,而且似乎也是错误的。对于launchBillingFlow,它表示如果用户取消购买流程,该方法将返回一个BillingResult带有代码的。BillingResponseCode.BILLING_CANCELED然而,我的实验表明,代码实际上是在对PurchasesUpdatedListener.onPurchasesUpdated.
不幸的是,源代码BillingClient不可用,但我确实反编译了库模块。据我所知,调用launchBillingFlow可以返回以下结果代码:
OK- 当流程成功启动时(并且向用户显示 Google 的购买屏幕)。SERVICE_DISCONNECTED-BillingClient当前未连接到设备上的 Google Play 时。SERVICE_TIMEOUT- 如果在尝试启动流程期间连接中断。(我想我在某处读到,如果 Google Play 在后台更新,就会发生这种情况。)FEATURE_NOT_SUPPORTED- 在与对象BillingFlowParams的当前配置不匹配的各种条件下BillingClient。反编译代码中似乎还有一个地方捕获并返回了来自 Google Play 计费服务的某些错误响应。有谁知道调用可以返回哪些其他响应代码launchBillingFlow?
首先,感谢您提出的好问题。据我研究,下面列出的值 \xe2\x80\x8b\xe2\x80\x8b 可用。
\nBillingClient.BillingResponseCode // all codes\nRun Code Online (Sandbox Code Playgroud)\n\n\nint BILLING_UNAVAILABLE请求的类型不支持\n计费 API 版本。
\nint DEVELOPER_ERROR提供给 API 的参数无效。
\nint ERROR API 操作期间发生致命错误。
\nint FEATURE_NOT_SUPPORTED当前设备上的 Play\nStore 不支持请求的功能。
\nint ITEM_ALREADY_OWNED购买失败,因为项目已被\n拥有。
\nint ITEM_NOT_OWNED由于项目不被拥有,因此消费失败。
\nint ITEM_UNAVAILABLE请求的产品无法购买。
\nint OK成功。
\nint SERVICE_DISCONNECTED Play 商店服务现在未连接 -\n可能是暂时状态。
\nint SERVICE_TIMEOUT在 Google Play 响应之前,请求已达到\n最大超时时间。
\nint SERVICE_UNAVAILABLE网络连接已关闭。
\nint USER_CANCELED用户按回或取消对话框。
\n
launchBillingFlow // return values for\nRun Code Online (Sandbox Code Playgroud)\n\n\n启动计费流程操作的结果。\n BillingClient.BillingResponseCode.ITEM_ALREADY_OWNED \n如果用户已拥有所购买的项目,\n BillingClient.BillingResponseCode.ITEM_UNAVAILABLE \n如果该项目不可购买,以及\n BillingClient。 BillingResponseCode.USER_CANCELED \n如果用户取消购买流程。
\n
更新答案
\n\n\n当调用\nlaunchBillingFlow() 失败时可能的返回值是什么
\n
\n\n调用 onPurchasesUpdated() 时(流程完成时)可能的值是什么。
\n
| 归档时间: |
|
| 查看次数: |
3354 次 |
| 最近记录: |