使用唯一标识符识别设备 flutter / android

Identify device by using an unique identifier flutter / android

我的用例是我想唯一标识我的用户设备,因为我想为他们提供订阅并且不想使用任何类型的登录,而是使用我可以将其保存在我的后端的唯一标识符,所以即使用户卸载或重新安装我的应用程序,仍然可以访问内容。我也曾尝试使用 androidId (SSAID),但它可以在应用程序登录更改或设备重置时更改。 我在后端使用 firebase,在前端使用 flutter。

您可以使用下面的库来查找设备的唯一 ID:

Device ID library

这也是重复的question,所以下次请注意在提问之前搜索答案。 :)

最后,我不完全确定你的项目范围,但如果你在 Firebase 上保存用户数据,无论敏感与否,使用设备 UID 登录的人可能会出现问题,例如在用户丢失的情况下他们 phone 他们将无法恢复丢失的数据。就像我说的,我不确定你项目的范围,只是需要考虑一下。

如果您需要任何进一步的帮助,请告诉我!

这是获取设备唯一标识符的方法:

对于 Android 使用 unique_identifier 库获取 IMEI:

// 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;