我们的大多数购买在 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.
}
}
看一下上面的解释PENDING状态。 “要完成购买,他们应该遵循向他们提供的说明”是什么意思?这些指令到底是什么?我们需要将用户重定向到 Google Play 还是什么?它并没有具体说明要做什么,而且让我很烦恼,因为购买无缘无故地被取消,或者因为这个原因。如何完成待定购买?没有任何关于它的东西,或者我找不到它,所以我最终来到了这里。
我希望你能帮我解决这个问题。谢谢。
我同意文档很差,特别是因为你想确切地知道发生了什么是当你处理别人的钱时!
看起来“慢卡”交易实际上是“待购买”,谷歌一直在这样做推出 https://9to5google.com/2019/05/09/google-play-store-cash/2019 年。这是可能的流程......
- 在您的应用中,用户点击“立即购买”
- 他们看到 Google 结账叠加层
- 他们选择“在阿克拉 Freddina's Grocery 付款”(已签约处理 Google 待处理购买的当地商店)
- Google 结账时会显示一个代码以向 Freddina 展示
- 用户向 Freddina 支付现金,Freddina 使用该代码处理付款
- 大约 10 分钟后,购买更新将登陆您的应用程序
至于处理不可预测的定时更新事件,我们有一个应用程序handlePurchaseUpdated
方法从应用程序启动的那一刻起监听,并根据Purchase
随之而来的对象。这是一个示例流程:
- 应用程序启动后,我们会立即监听购买更新
- 用户购买缓慢
- 我们收到购买更新
- 已通过的
Purchase
对象的购买状态为 PENDING
- 我们告诉用户,购买完成后我们会通知他们
- 在未来的某个时刻(例如应用程序重新启动后的第二天),购买更新将会出现
- 如果购买状态现在为“已购买”,我们将完成购买并告诉用户
注意:我们的应用程序是 React Native 应用程序,不是原生 java,但流程应该是相同的。
实施起来很复杂,因为您必须选择时间进行购买更改并在有意义的时间显示购买结果,而不一定是在启动后 5 秒(或任何其他奇怪的时间)购买更新到达时。如果在授予权利或确认步骤期间出现错误,事情会变得更加复杂,呃。
此外,您可能看不到“慢卡”测试仪选项,因为您没有allow it https://developer.android.com/google/play/billing/billing_library_overview#pending?
2022 年更新:就我个人而言,我觉得文档仍然很差,而且复杂性很大,我建议使用类似的服务IAPHUB https://www.iaphub.com/管理 iap 和订阅。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)