getDeviceInfo method

  1. @override
Future<DeviceData> getDeviceInfo()
override

Implementation

@override
Future<DeviceData> getDeviceInfo() async {
  DeviceData deviceData = DeviceData.initial();
  IosDeviceInfo deviceDataIos;
  AndroidDeviceInfo deviceDataAndroid;
  DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
  if (Platform.isIOS) {
    deviceDataIos = await deviceInfo.iosInfo;
    deviceData = DeviceData(
      deviceVendor: deviceDataIos.name,
      deviceId: deviceDataIos.identifierForVendor ?? "",
      deviceModel: deviceDataIos.model,
      osVersion: '${deviceDataIos.systemVersion}.0',
      osType: OsType.ios,
    );
    return deviceData;
  }
  deviceDataAndroid = await deviceInfo.androidInfo;
  const androidIdPlugin = AndroidId();
  String? androidId = await androidIdPlugin.getId();
  deviceData = DeviceData(
    deviceVendor: deviceDataAndroid.manufacturer,
    deviceId: androidId ?? "",
    deviceModel: deviceDataAndroid.model,
    osVersion: '${deviceDataAndroid.version.release}.0.0',
    osType: OsType.android,
  );

  return deviceData;
}