我刚刚在我的手机上使用 API V2 实现并测试了 Android 应用内购买(因为我还需要实现订阅)。实际上,该应用程序并未发布,而仅处于草稿状态。
我已经测试过购买并且效果很好。
我对通知系统有一些我实际上不明白的问题。
1) 第一个问题
我有许多具有相同 Google 帐户的设备(因此我共享相同的购买项目)。我刚刚从设备 A 上的应用程序中正确购买了一件商品,但尚未通知另一台设备 B。
我是否必须在设备 B 上等待来自 Google Play 的一些通知,否则它永远不会发生?如果我是第二种情况,解决方案是什么?每次启动应用程序时都进行 RESTORE_TRANSACTION 吗?
问题1的更新解决方案:我认为问题在于我的谷歌帐户也是我的开发者控制台中的测试帐户。我实际上测试了它从测试列表中删除帐户并且运行良好。
2)第二个问题
我也试过退款系统。我已经从开发者控制台退还了我购买的商品(托管商品),但我从未收到 REFUND 事件。为什么?
如果我卸载该应用程序并再次安装它,RESTORE_TRANSACTIONS 会告诉我我退款的应用程序内仍处于 PURCHASED 状态。我做错了什么?
更新:订阅已退款(未过期但刚刚退款)。相反,托管的应用内购买仍处于 PURCHASED 状态,但在开发者控制台上,我已退款并取消了订单。为什么还处于购买状态?
3)第三个问题
我的用户进行了订阅,然后它就过期了。谷歌会向我发送 SUBSCRIPTION_EXPIRED 事件到我的应用程序还是让我总是执行 RESTORE_TRANSACTION?
4) 最后一个问题
我已经退还了订阅,它向我发送了退款事件。实际上订阅有效期到月底,所以我认为我需要从月底开始为用户提供订阅服务,我认为在此之后,如果用户不重新收费,我会得到一个SUBSCRIPTION_EXPIRES 事件。
我对吗?
谢谢,伊曼纽尔。
更新:更新了部分答案、另一个问题和更多细节。