getDeviceInfo function
Implementation
Future<Map<String, String>> getDeviceInfo() async {
final deviceInfoPlugin = DeviceInfoPlugin();
if (Platform.isAndroid) {
final info = await deviceInfoPlugin.androidInfo;
return {'deviceId': info.id, 'deviceName': info.model};
}
if (Platform.isIOS) {
final info = await deviceInfoPlugin.iosInfo;
return {
'deviceId': info.identifierForVendor ?? 'unknown-ios',
'deviceName': info.utsname.machine,
};
}
if (Platform.isMacOS) {
final info = await deviceInfoPlugin.macOsInfo;
return {
'deviceId': info.systemGUID ?? 'unknown-macos',
'deviceName': '${info.computerName} (macOS ${info.osRelease})',
};
}
if (Platform.isWindows) {
final info = await deviceInfoPlugin.windowsInfo;
return {
'deviceId': info.deviceId,
'deviceName': '${info.computerName} (Windows)',
};
}
if (Platform.isLinux) {
final info = await deviceInfoPlugin.linuxInfo;
return {
'deviceId': info.machineId ?? 'unknown-linux',
'deviceName': info.prettyName,
};
}
return {
'deviceId': 'device-${DateTime.now().millisecondsSinceEpoch}',
'deviceName': 'Unknown Platform',
};
}