[英]Unique device id in flutter
我想获得一个设备 ID 或任何在有人卸载应用程序时无法更改的唯一编号。 该设备同时适用于android和iOS,属于flutter框架。 我想要这个来管理我的设备管理。
谢谢您的帮助。
我尝试了 flutter 中一些最常用的包,如 device_info_plus 和 flutter_udid,但这些 ID 每天都在变化。
你试过platform_device_id了吗
这个package可以帮助你在android、iOS、windows、macOS甚至web和linux中获取deviceId。
导入 package 后,您需要使用以下代码
try {
deviceId = await PlatformDeviceId.getDeviceId;
} on PlatformException {
deviceId = 'Failed to get deviceId.';
}
您也可以使用@Rohan 的回答。 platform_device_id
package。阅读更多
有device_info_plus
指南 package阅读更多
将 package 添加到您的 flutter 项目中。
创建一个这样的方法:
Future<String> getUniqueDeviceId() async { String uniqueDeviceId = ''; var deviceInfo = DeviceInfoPlugin(); if (Platform.isIOS) { var iosDeviceInfo = await deviceInfo.iosInfo; uniqueDeviceId = '${iosDeviceInfo.name}:${iosDeviceInfo.identifierForVendor}'; // unique ID on iOS } else if(Platform.isAndroid) { var androidDeviceInfo = await deviceInfo.androidInfo; uniqueDeviceId = '${androidDeviceInfo.name}:${androidDeviceInfo.id}'; // unique ID on Android } return uniqueDeviceId; }
像这样使用它:
String deviceId = await getUniqueDeviceId();
注意(更新):
不要使用androidDeviceInfo.androidId
。 当您的 mac 地址更改时,这会更改。 Android OS 10/11
以上的移动设备将生成随机 MAC。 默认情况下启用此功能,除非手动禁用。 这会导致androidId
在 switiching.networks 时发生变化。 您可以通过将上面的androidDeviceInfo.androidId
androidDeviceInfo.id
行确认。
(从@Ariel 获得详细信息)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.