怎么处理来自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的待定购买的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。