Flutter/Revenuecat:检查用户是否已经购买了一些东西



我目前正在Flutter中使用RevenueCat构建一个应用程序,用于应用程序内购买。

我现在想知道每个用户是否已经进行了应用内购买,因为我已经激活了试用订阅。我需要这些信息,因为我想调整用户界面,以防用户注册了一个到目前为止我还没有在RevenueCat中看到的新帐户。在这种情况下,他将无法再次使用试用订阅,因为谷歌/苹果阻止了这种情况。

我为我的应用程序中的每个用户使用自定义ID,我也为RevenueCat使用此ID,可以创建一个新帐户并获得不同的用户ID;新的";用户到没有订阅的RevenueCat。我认为解决方案必须检查GooglePlay帐户是否有已购买的订阅

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

我试着用https://pub.dev/packages/in_app_purchase,但到目前为止运气不佳。所有的指南似乎都过时了。

谢谢。

基于官方文档

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

解决方案

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

只需在revenueCat面板中设置即可它根据恢复用户购买

谷歌播放帐户苹果id

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

您可以检查授权以确定用户是否有活动订阅,更多信息请点击此处: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
}

最新更新