getDeviceInfo function
Implementation
Future<DeviceInfo> getDeviceInfo() async {
late DeviceInfo deviceInfo;
DeviceInfoPlugin deviceData = DeviceInfoPlugin();
try {
if (kIsWeb) {
WebBrowserInfo webBrowserInfo = await deviceData.webBrowserInfo;
final Map<String, String> data = {
'browser': webBrowserInfo.browserName.toString(),
'browserVersion': webBrowserInfo.appVersion!,
'appType': 'web',
'deviceType': 'desktop',
};
deviceInfo = DeviceInfo.fromMap(data);
} else if (Platform.isAndroid) {
AndroidDeviceInfo androidInfo = await deviceData.androidInfo;
final Map<String, String> data = {
'deviceName': androidInfo.model,
'deviceVersion': androidInfo.version.release.toString(),
'identifier': androidInfo.id,
'appType': 'android',
'deviceType': 'mobile',
};
deviceInfo = DeviceInfo.fromMap(data);
//UUID for Android
} else if (Platform.isIOS) {
IosDeviceInfo iosInfo = await deviceData.iosInfo;
final Map<String, String> data = {
'deviceName': iosInfo.model!,
'deviceVersion': iosInfo.systemVersion!,
'identifier': iosInfo.identifierForVendor!,
'appType': 'ios',
'deviceType': 'mobile',
};
deviceInfo = DeviceInfo.fromMap(data);
}
} on PlatformException {}
return deviceInfo;
}