flutter - Flutter 如何使用 in_app_purchase 插件实现订阅?
问题描述
我正在使用 in_app_purchase ( https://pub.dev/packages/in_app_purchase ) Flutter 插件来实现订阅。
我不明白如何检查某个用户是否仍被订阅:queryPastPurchases 方法为每个订阅返回一个 PurchaseDetails 对象,但我找不到当前订阅的“状态”(活动/非活动等)......
我可以检查 transactionDate 字段,但这不是一个好的解决方案。
Appriciate 对此问题的任何帮助
解决方案
遍历每个 PurchaseDetails,如果purchase.billingClientPurchase.sku == "your_subscriptionID"则存在活动订阅。如果用户取消订阅并且已超过结束期限(30 天),则response.pastPurchases 列表将不包含“your_subscriptionID”的订阅/购买。
for (PurchaseDetails purchase in response.pastPurchases) {
if(purchase.billingClientPurchase.sku == "your_subscriptionID"){
hasSubscription = true;
}
if (Platform.isIOS) {
InAppPurchaseConnection.instance.completePurchase(purchase);
}
}
推荐阅读
- python - 使用 Keras 错误预测 && 模型创建不存在的类的文本分类(词袋)
- excel - 为什么将联合范围的值存储在数组中只存储第一个范围的值?
- typescript - 打字稿参考问题
- python - Python`str`子类不调用`__add__`
- angular - 永远不会在带有单元测试 angular + jasmine 和 SpyOn 的 switchMap 中调用函数
- excel - 日历中的员工缺勤(vlookup?)
- ios - 运行单元测试时每隔一次Xcode 10“无法安装此应用程序”
- sql-server - 在分子和/或分母中添加转换为小数?
- django - 从 Django 表单中清除“ChoiceField”
- airflow - 使用环境变量在 Airflow 中设置 Google Cloud 连接