【发布时间】:2021-02-20 07:32:34
【问题描述】:
我的用例是我想唯一标识我的用户设备,因为我想为他们提供订阅并且不想使用任何类型的登录,而是使用可以将其保存在后端的唯一标识符,因此即使用户卸载或重新安装我的应用程序,仍然可以访问内容。此外,我曾尝试使用 androidId (SSAID),但它可以在应用登录更改或设备重置时更改。 我使用 firebase 作为后端并在前端颤振。
【问题讨论】:
标签: android firebase flutter dart device
我的用例是我想唯一标识我的用户设备,因为我想为他们提供订阅并且不想使用任何类型的登录,而是使用可以将其保存在后端的唯一标识符,因此即使用户卸载或重新安装我的应用程序,仍然可以访问内容。此外,我曾尝试使用 androidId (SSAID),但它可以在应用登录更改或设备重置时更改。 我使用 firebase 作为后端并在前端颤振。
【问题讨论】:
标签: android firebase flutter dart device
您可以使用下面的库来查找设备的唯一 ID:
这也是重复的question,所以下次提问前请注意搜索答案。 :)
最后,我不完全确定您的项目范围,但如果您在 Firebase 上保存敏感或非敏感用户数据,使用设备 UID 登录用户可能会出现问题,例如在用户丢失手机的情况下他们将无法恢复丢失的数据。就像我说的,我不确定你的项目的范围,但只是想一想。
如果您需要任何进一步的帮助,请告诉我!
【讨论】:
这是获取设备唯一标识符的方法:
对于使用 unique_identifier 库获取 IMEI 的 Android:
// 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;
【讨论】: