我正在制作一款基于令牌的应用程序。因此,用户可以购买代币并使用它们进行一些操作。每个用户在使用电子邮件和密码创建帐户后将获得10个免费代币(作为试用版)。
我希望防止用户通过每次获取新帐户来获得另外10个代币,并且我想知道是否有像Android和iOS设备的唯一设备ID这样的东西?
我可以使用这个来实现吗? https://pub.dartlang.org/packages/device_id#-example-tab-
我正在制作一款基于令牌的应用程序。因此,用户可以购买代币并使用它们进行一些操作。每个用户在使用电子邮件和密码创建帐户后将获得10个免费代币(作为试用版)。
我希望防止用户通过每次获取新帐户来获得另外10个代币,并且我想知道是否有像Android和iOS设备的唯一设备ID这样的东西?
我可以使用这个来实现吗? https://pub.dartlang.org/packages/device_id#-example-tab-
使用device_info_plus插件。
在你的pubspec.yaml
文件中添加以下内容
dependencies:
device_info_plus: any
创建一个方法:import 'dart:io';
import 'package:device_info_plus/device_info_plus.dart';
// ...
Future<String?> _getId() async {
var deviceInfo = DeviceInfoPlugin();
if (Platform.isIOS) { // import 'dart:io'
var iosDeviceInfo = await deviceInfo.iosInfo;
return iosDeviceInfo.identifierForVendor; // Unique ID on iOS
} else {
var androidDeviceInfo = await deviceInfo.androidInfo;
return androidDeviceInfo.androidId; // Unique ID on Android
}
}
使用方法如下:
String? deviceId = await _getId();
或者_getId().then((id) {
String? deviceId = id;
});