getDeviceId static method

Future<String> getDeviceId()

获取设备唯一标识符

Implementation

static Future<String> getDeviceId() async {
  try {
    if (Platform.isAndroid) {
      final androidInfo = await _deviceInfo.androidInfo;
      // 组合多个标识符以提高唯一性
      return '${androidInfo.id}_${androidInfo.model}_${androidInfo.device}';
    } else if (Platform.isIOS) {
      final iosInfo = await _deviceInfo.iosInfo;
      return iosInfo.identifierForVendor ?? 'ios_default';
    } else if (Platform.isMacOS) {
      final macInfo = await _deviceInfo.macOsInfo;
      return '${macInfo.computerName}_${macInfo.model}';
    } else if (Platform.isWindows) {
      final windowsInfo = await _deviceInfo.windowsInfo;
      return '${windowsInfo.computerName}_${windowsInfo.deviceId}';
    } else if (Platform.isLinux) {
      final linuxInfo = await _deviceInfo.linuxInfo;
      return '${linuxInfo.machineId}_${linuxInfo.id}';
    }

    return 'unknown_device';
  } on PlatformException {
    return 'device_error_${DateTime.now().millisecondsSinceEpoch}';
  }
}