How to handle pending purchases from Google Play(如何处理来自Google Play的待定购买)
问题描述
我们的大部分购买在3天30分钟后一直被取消,我想这是等待购买状态的结果。然而,关于如何准确处理待定购买的文档非常少。而且,由于某些原因,即使我自己是一名测试员,我也不能测试它,因为在购买方式上没有"慢卡"选项。而且,我们没有后端服务器来备份我们。
这是我从官方文档中找到的解释:
void handlePurchase(Purchase purchase) {
if (purchase.getPurchaseState() == PurchaseState.PURCHASED) {
// Acknowledge purchase and grant the item to the user
} else if (purchase.getPurchaseState() == PurchaseState.PENDING) {
// Here you can confirm to the user that they've started the pending
// purchase, and to complete it, they should follow instructions that
// are given to them. You can also choose to remind the user in the
// future to complete the purchase if you detect that it is still
// pending.
}
}
查看有关挂起状态的说明。"为了完成购买,他们应该遵循给他们的说明"是什么意思?这些说明到底是什么?我们需要将用户重定向到Google Play还是其他什么?它没有具体说明要做什么,让我很苦恼,因为购买被无缘无故地取消了,或者是因为这个原因。如何完成待定的购买?它什么都没有,或者我找不到它,所以我最终来到了这里。
我希望你能帮我解决这个问题。谢谢。
推荐答案
我同意文档很差,特别是当你在处理别人的钱时,你想知道到底发生了什么!
看起来‘慢卡’交易实际上是‘待购’,这是谷歌在2019年rolling out一直在做的事情。这是可能的流程.
- 在您的应用程序中,用户点击"立即购买"
- 他们看到Google结账覆盖
- 他们选择"在阿克拉的Freddina‘s Grocery付款"(一家当地商店,签约处理谷歌的待定购买事宜)
- Google Check Out显示要向Freddina显示的代码
- 用户以现金向Freddina支付,Freddina使用该代码处理付款
- 大约10分钟后,购买更新将登陆您的应用程序
至于处理不可预测的定时更新事件,我们有一个带有handlePurchaseUpdated
方法的应用程序,它从应用程序启动的那一刻开始监听,并根据它附带的Purchase
对象进行更改。下面是一个流程示例:
- 应用程序一启动,我们就会监听购买更新
- 用户购买速度较慢
- 我们获得采购更新
- 传递的
Purchase
对象采购状态待定 - 我们告诉用户购买完成后会通知他们
- 在将来的某个时候(例如,应用重启后的第二天),购买更新将进入
- 如果现在采购状态为已采购,我们将最终确定采购并告诉用户
注意:我们的是ReactNative应用程序,不是Native Java,但流程应该是相同的。
它的实现很复杂,因为您必须选择您的时间进行购买更改,并在有意义的时间显示购买结果,而不一定是在购买更新在启动后5秒(或任何其他奇怪的时间)到达时。而且,如果您的授权或确认步骤中出现错误,情况会变得更加复杂。
另外,您可能看不到"Slow Card"测试仪选项,因为您没有allow it?
这篇关于如何处理来自Google Play的待定购买的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何处理来自Google Play的待定购买
基础教程推荐
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01