问题描述
我的用例是我想为用户设备提供唯一标识,因为我想为其提供订阅,并且不想使用任何类型的登录名,而是使用可以将其保存在后端的唯一标识符,即使用户卸载或重新安装我的应用程序,仍然能够访问内容。我也曾尝试使用androidId(SSAID),但可以在应用登录更改或设备重置时更改。 我正在将Firebase用作后端,并在前端进行抖动。
解决方法
您可以使用下面的库来查找设备的唯一ID:
这也是question的重复项,因此请在下次问问题之前小心下次搜索答案。 :)
最后,我不能完全确定您的项目范围,但是如果您将用户数据保存在Firebase上(无论是否敏感),使用用户UID登录用户可能会出现问题,例如在用户丢失手机的情况下他们将无法恢复丢失的数据。就像我说的那样,我不确定您的项目范围,只是想一想。
如果您需要其他帮助,请告诉我!
,这是获取设备唯一标识符的方法:
对于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;