// Add this dependency to pubspec.yaml
dev_dependencies:
unique_identifier: ^0.0.3
// code snippet to get the IMEI
String identifier = await UniqueIdentifier.serial;
字符串 对于iOS,Apple不再允许您检索IMEI,但您可以生成类似于IMEI的UDID:
import 'package:device_info/device_info.dart';
final DeviceInfoPlugin deviceInfoPlugin = new DeviceInfoPlugin();
var data = await deviceInfoPlugin.iosInfo;
identifier = data.identifierForVendor;
3条答案
按热度按时间nom7f22z1#
您可以使用下面的库来查找设备的唯一ID:
Device ID library
另外,这是一个重复的question,所以请注意下次在提问之前搜索答案。
最后,我不完全确定你的项目的范围,但如果你保存用户数据,敏感或不Firebase上,登录的人与设备UID的可能是有问题的,例如在用户丢失手机的情况下,他们将无法恢复他们丢失的数据.就像我说的,我不知道你的项目的范围,但只是一些思考.
请让我知道如果你需要任何进一步的帮助!
yvfmudvl2#
以下是如何获取设备的唯一标识符:
对于使用unique_identifier库获取IMEI的Android:
字符串
对于iOS,Apple不再允许您检索IMEI,但您可以生成类似于IMEI的UDID:
型
k10s72fa3#
2023年答案
对于Android应用(尤其是已经使用Firebase的应用),Android认为Firebase安装ID(FID)是获取设备唯一标识符的最佳实践。大多数第三方应用不属于可以获取硬件标识符的应用类别。
但有一个例外:
如果运营商相关功能需要,则可以利用硬件标识符。
换句话说,如果您的应用使用设备的SMS功能,是默认拨号器,或者是系统应用,您可能能够获得像IMEI这样的硬件标识符。但是,这需要用户权限才能工作,并且这是一个比简单地点击权限消息上的“允许”更侵入性的过程,比如当应用想要发送通知时。AFAIK,如果您的应用无法提供与其他拨号器或短信应用竞争的短信功能,您可能需要考虑使用其他用户身份识别方法,例如in-app purchase或Google account linking。