gpt4 book ai didi

flutter - 如何在Flutter中本地存储高级内容购买状态?

转载 作者:行者123 更新时间:2023-12-03 03:34:20 26 4
gpt4 key购买 nike

假设我有一个包含15个列表项的列表,我只想免费提供其中的5个,其余的则作为高级内容提供。所以我有几种选择-

1)创建2个应用-免费和付费。免费提供免费内容,所有内容均已付费。

2)添加身份验证并使用Firestore之类的在线数据库来了解用户是否购买了高级内容,如果是,则显示应用程序中的所有内容,如果不是,则仅显示免费部分。

我不想实现上述2个解决方案中的任何一个,因为我的应用程序不需要身份验证,并且我不想仅出于优质内容而添加它。所以我想添加一个在本地工作的解决方案。

用户首次安装该应用程序时,他们将能够查看免费内容,即前5个项目,然后在滚动时会收到消息“购买以解锁其余内容”。我认为“共享首选项”将不是一个很好的选择,因为如果用户在“设置”中重置应用数据,那么用户购买的高级版本将不复存在。

那么,我应该使用什么来检查和存储用户是否已在应用内购买了付费内容?

最佳答案

您可以使用Firebase匿名登录来实现此目的。因此,用户无需使用用户ID和密码或类似名称进行显式登录,但您仍可以获取用户ID。您可以使用此用户ID将购买的内容信息存储在Firestore中。

一种替代方法是使用设备ID。您可以使用device_info软件包。它提供了唯一的设备ID,可用于识别用户。以下代码段将检索设备的唯一ID。

final DeviceInfoPlugin deviceInfoPlugin = new DeviceInfoPlugin();

if (Platform.isAndroid)
{
var build = await deviceInfoPlugin.androidInfo;
identifier = build.androidId; // Android Device id
} else if (Platform.isIOS)
{

var data = await deviceInfoPlugin.iosInfo;

identifier = data.identifierForVendor; //UUID for iOS
}

在上述两种情况下,都没有本地数据存储。

注意:如果用户更改设备,则他/她将无法访问高级内容。登录将解决此问题,并可以在一台设备上购买另一台设备上的内容。而且,您始终可以控制每个用户的“ Activity ”设备的数量。

关于flutter - 如何在Flutter中本地存储高级内容购买状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61956488/

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