我正在尝试使用官方Flutter In-App-Purchase插件来实现应用内购买。虽然已经让事情成功运行起来,但我无法弄清楚如何确定用户的订阅是否仍在有效期内或者是否已过期。即使在我取消了测试订阅后,连接并执行queryPastPurchases()
后获取到的值与订阅仍处于激活状态时一样:
productId: test_subscription_1
transactiondate: 1565682346568
status: null
verificationData
source: IAPSource.GooglePlay
localVerificationData: {
"orderId":"GPA.1234-1234-1234-12345",
"packageName":"com.example.myapp",
"productId":"test_subscription_1",
"purchaseTime":1565682346568,
"purchaseState":0,
"purchaseToken":"<long string>",
"autoRenewing":false
}
serverVerificationData: "<long string>"
我应该只是硬编码我的订阅周期并将当前时间与purchaseTime
+ 订阅周期进行比较吗? 这在自动续订方面甚至有效吗? 如果用户将手机日期改为一年前会怎样?似乎应该有某个值,可以给我到期时间或至少一个布尔值来指示订阅是否仍然有效?