getDeviceInfo function

Future<DeviceInfo> getDeviceInfo()

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;
}