getDeviceInfo static method
Implementation
static Future<Map<String, String>> getDeviceInfo() async {
String deviceId = 'unknown';
String deviceName = 'unknown';
final String usertype = Platform.isAndroid ? 'Android' : 'iOS';
try {
if (Platform.isAndroid) {
AndroidDeviceInfo androidInfo = await _deviceInfo.androidInfo;
// id is often a build-specific ID. androidId was the hardware ID but it's deprecated/changed.
// For modern Android, 'id' or 'fingerprint' is often used.
deviceId = androidInfo.id;
deviceName = '${androidInfo.manufacturer} ${androidInfo.model}';
doPrint(
'Device Info (Android): ID=$deviceId, Name=$deviceName',
);
} else if (Platform.isIOS) {
IosDeviceInfo iosInfo = await _deviceInfo.iosInfo;
deviceId = iosInfo.identifierForVendor ?? 'unknown';
deviceName = iosInfo.name;
doPrint('Device Info (iOS): ID=$deviceId, Name=$deviceName');
}
} catch (e) {
doPrint('Error getting device info $e');
}
return {
'deviceid': deviceId,
'device_name': deviceName,
'usertype': usertype,
};
}