deviceDetails property

Future<Map<String, dynamic>> get deviceDetails

Implementation

static Future<Map<String,dynamic>> get deviceDetails async{
  Map<String,dynamic> result={"platform":"Unknown","device":{}};
  String? uid = (await PlatformDeviceId.getDeviceId);
  if(uid==null){
    uid="[NOT AVAILABLE]";
  }
  result["uid"]=uid.trim();
  DeviceInfoPlugin deviceInfo=DeviceInfoPlugin();
  Map<String,dynamic> data={};
  if(Platform.isAndroid){
    result["platform"] = "Android";
    data=(await deviceInfo.androidInfo).data;
  }
  else if(Platform.isIOS){
    result["platform"] = "iOS";
    data=(await deviceInfo.iosInfo).data;
  }
  else if(Platform.isLinux){
    result["platform"] = "Linux";
    data=(await deviceInfo.linuxInfo).data;
  }
  else if(Platform.isMacOS){
    result["platform"] = "MacOS";
    data=(await deviceInfo.macOsInfo).data;
  }
  else if(Platform.isWindows){
    result["platform"] = "Windows";
    data=(await deviceInfo.windowsInfo).data;
  }
  data.forEach((key, value) {
    if(value.runtimeType.toString()=="DateTime"){
      value=value.toString();
    }
    result["device"][key]=value;
  });
  return result;
}