使用 Flutter 应用内购买插件检查订阅有效性?
Check subscription validity using Flutters in-app-purchase plugin?
我正在尝试使用 the official Flutter In-App-Purchase plugin 实现应用内购买。我已经开始工作了,除了我无法弄清楚如何判断用户订阅是否仍然有效或是否已过期。即使在我取消测试订阅后,我在连接和执行 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
+ 订阅期进行比较?这甚至适用于自动续订吗?如果用户将 phone 上的日期更改为一年前怎么办?似乎应该有一些值应该给我到期时间或至少一个布尔值 true/false 来指示订阅是否仍然有效?
官方应用内购买插件处理进行购买,但不提供专门处理自动续订订阅所需的所有后端基础设施。
您问题的简短回答是将此购买信息发送至 your server and manage subscription status there. Alternatively you can look into a managed solution like purchases_flutter
: https://pub.dev/packages/purchases_flutter/
我用过“purchases_flutter”,过程很简单。您可以通过调用插件自带的方法来检查订阅状态。查看这篇文章,其中包含一个示例 https://medium.com/flutter-community/in-app-purchases-with-flutter-a-comprehensive-step-by-step-tutorial-b96065d79a21
我正在尝试使用 the official Flutter In-App-Purchase plugin 实现应用内购买。我已经开始工作了,除了我无法弄清楚如何判断用户订阅是否仍然有效或是否已过期。即使在我取消测试订阅后,我在连接和执行 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
+ 订阅期进行比较?这甚至适用于自动续订吗?如果用户将 phone 上的日期更改为一年前怎么办?似乎应该有一些值应该给我到期时间或至少一个布尔值 true/false 来指示订阅是否仍然有效?
官方应用内购买插件处理进行购买,但不提供专门处理自动续订订阅所需的所有后端基础设施。
您问题的简短回答是将此购买信息发送至 your server and manage subscription status there. Alternatively you can look into a managed solution like purchases_flutter
: https://pub.dev/packages/purchases_flutter/
我用过“purchases_flutter”,过程很简单。您可以通过调用插件自带的方法来检查订阅状态。查看这篇文章,其中包含一个示例 https://medium.com/flutter-community/in-app-purchases-with-flutter-a-comprehensive-step-by-step-tutorial-b96065d79a21