gpt4 book ai didi

flutter - 如何获取用户当前的订阅状态,验证订阅是否仍然有效?

转载 作者:行者123 更新时间:2023-12-04 13:15:12 33 4
gpt4 key购买 nike

我正在构建一个使用免费增值模式的 Flutter 应用。

我在我的应用中使用了 in_app_purchase flutter 包,因此用户现在可以升级到付费包月。通读文档后https://developer.android.com/google/play/billing/billing_subscriptions#Handle-states对于添加特定于订阅的功能,它说“你还应该启用实时开发人员通知”,我现在已经做到了。

根据此视频 ( https://www.youtube.com/watch?v=9Ta2chg_Ak4 ),只要现有订阅有更新,我就会直接从 Cloud Pub/Sub 收到购买 token 。此购买 token 不包含更改的详细信息。因此,我需要将购买 token 从我的安全后端发送到 Google Play Developer API,以获取附加到购买 token 的更新信息。验证后,我将获得有关订阅的修订信息,这些信息可以存储在我的后端服务器上,并在需要时发送到我的 Android 应用程序,以确保用户可以访问适当的应用程序内内容和服务。

我使用 Cloud Firestore 作为应用的后端。

我的问题是:如何获取用户的当前订阅状态,以验证订阅是否仍然有效?我认为我需要使用 Purchases.subscriptions:获取,它检查用户的订阅购买是否有效并返回其到期时间( https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/get )——但我不确定如何在 flutter 中实际执行此操作。 如何在 flutter 中实现这一点?

预先感谢您的帮助!

杰森

最佳答案

我已经找到了一个很好的解决方案。最后我只使用了 RevenueCat。它处理一切。您甚至不需要使用 Google Pub/Sub 或实时开发者通知。容易多了!这是文档:https://docs.revenuecat.com/docs .

设置后,非常简单,我只需使用:

try {
PurchaserInfo purchaserInfo = await Purchases.getPurchaserInfo();
if (purchaserInfo.entitlements.all["my_entitlement_identifier"].isActive) {
// Grant user "pro" access
}
} catch (e) {
// Error fetching purchaser info
}

希望这个答案对以后的人有所帮助 - 一旦我弄明白了,它就为我节省了很多工作和时间!

关于flutter - 如何获取用户当前的订阅状态,验证订阅是否仍然有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61185385/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com