我正在尝试为应用的android purhcases实现后端逻辑,并开始集成https://developer.android.com/google/play/billing/realtime_developer_notifications
在测试过程中,我能够获得SUBSCRIPTION_PURCHASED,SUBSCRIPTION_RENEWED和SUBSCRIPTION_CANCELED,但是当到期时间到来时,我看不到任何SUBSCRIPTION_EXPIRED。根据文档 SUBSCRIPTION_EXPIRED-订阅已过期 并且应该在SUBSCRIPTION_CANCELED用户保留订阅之前,直到他/她已支付的期限结束(即令牌验证响应的到期时间)为止。
一旦取消订阅,是我们这边的服务器是否应该根据具有令牌的到期时间信息终止订阅,并且在不同情况下发送SUBSCRIPTION_EXPIRED?
如果“针对不同情况发送了SUBSCRIPTION_EXPIRED”是正确的,那么SUBSCRIPTION_EXPIRED通知的时间/情况是什么?
答案 0 :(得分:0)
请记住,不能100%保证将收到通知
对我来说,定期或每次应用初始化时调用此代码更为安全
billingClient.queryPurchases(BillingClient.SkuType.SUBS);
如果订阅已过期,则将返回用户不拥有该项目的信息,您应该基于此而不是基于通知启用/禁用功能