繁体   English   中英

flutter 中的唯一设备 ID

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM