我的使用情况是,我想要唯一地识别我的用户设备,因为我想要为他们提供订阅服务,并且不想使用任何类型的登录,而是使用可以保存在后端的唯一标识符。即使用户卸载或重新安装我的应用程序,仍然能够访问内容。我也尝试过使用AndroidId(SSAID),但它可能会在应用程序签入更改或设备重置时更改。
我正在使用Firebase作为后端,并在前端使用Flutter。
获取设备唯一标识的方法如下:
对于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,苹果不再允许您检索IMEI,但您可以生成类似于IMEI的UDID:
import 'package:device_info/device_info.dart';
final DeviceInfoPlugin deviceInfoPlugin = new DeviceInfoPlugin();
var data = await deviceInfoPlugin.iosInfo;
identifier = data.identifierForVendor;