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