【问题标题】:Flutter/Revenuecat: Check if user has already bought somethingFlutter/Revenuecat:检查用户是否已经购买了东西
【发布时间】:2022-12-21 23:57:34
【问题描述】:

我目前正在使用 RevenueCat 在 Flutter 中构建应用程序以进行应用程序内购买。

我现在想知道每个用户是否已经进行了应用内购买,因为我已经激活了试用订阅。我需要此信息,因为我想调整 UI,以防用户使用我目前在 RevenueCat 中未见过的新帐户注册。在这种情况下,他将无法再次使用试用订阅,因为 Google/Apple 阻止了这种情况。

我在我的应用程序中为每个用户使用自定义 ID,我也将此 ID 用于 RevenueCat,可以创建一个新帐户并获得不同的用户 ID。在这种情况下,这看起来像是没有订阅的 RevenueCat 的“新”用户。我认为解决方案必须检查 GooglePlay 帐户是否已购买订阅

到目前为止,我还没有找到一种方法来确定用户是否已经进行了应用内购买。关于如何实现这一目标的任何想法?

我试过用https://pub.dev/packages/in_app_purchase来做这件事,但到目前为止还没有成功。所有指南似乎都已过时。

谢谢。

【问题讨论】:

    标签: android ios flutter in-app-purchase revenuecat


    【解决方案1】:

    您可以检查权利以确定用户是否有有效订阅,更多信息在这里:https://docs.revenuecat.com/docs/customer-info

    它会是这样的:

    try {
      PurchaserInfo purchaserInfo = await Purchases.getPurchaserInfo();
      // access latest purchaserInfo
    } on PlatformException catch (e) {
      // Error fetching purchaser info
    }
    

    然后

    if (purchaserInfo.entitlements.all["my_entitlement_identifier"].isActive) {
      // Grant user "pro" access
    }
    

    【讨论】:

    • 谢谢您的回答。我应该再澄清一下我的问题。由于我在我的应用程序中为每个用户使用自定义 ID,并且我也将此 ID 用于 RevenueCat,因此可以创建一个新帐户并获得不同的用户 ID。在这种情况下,这看起来像是没有订阅的 RevenueCat 的“新”用户。我认为该解决方案必须检查 GooglePlay 帐户是否已购买订阅。
    • 是的,这有点复杂,我知道谷歌发布了一些订阅改进,听起来你走对了!
    【解决方案2】:

    基于官方文档

    设想 没有任何登录机制,仅依赖于 RevenueCat 匿名应用程序用户 ID。

    解决方案

    转移购买。需要允许客户在卸载/重新安装您的应用程序后恢复交易。

    只需在您的 revenueCat 仪表板中设置 并恢复用户购买取决于

    谷歌播放帐户要么苹果ID

    了解更多信息 -> https://www.revenuecat.com/docs/restoring-purchases#example-usage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-16
      • 1970-01-01
      • 2011-12-23
      • 2021-01-27
      • 1970-01-01
      • 2019-11-05
      • 2021-05-29
      • 1970-01-01
      相关资源
      最近更新 更多