getDeviceInfo static method
Implementation
static FutureEither<Map<String, String>> getDeviceInfo() async {
var deviceInfo = DeviceInfoPlugin();
if (Platform.isAndroid) {
var androidInfo = await deviceInfo.androidInfo;
return right({
'device': androidInfo.model,
'os': 'Android ${androidInfo.version.sdkInt}',
'osVersion': androidInfo.version.release,
'manufacturer': androidInfo.manufacturer,
'brand': androidInfo.brand,
'model': androidInfo.model,
'emu': androidInfo.isPhysicalDevice ? '0' : '1',
'identity': base64UrlEncode(utf8.encode(androidInfo.fingerprint)),
});
} else if (Platform.isIOS) {
var iosInfo = await deviceInfo.iosInfo;
return right({
'device': iosInfo.model ?? 'iPhone',
'os': 'iOS ${iosInfo.systemName}',
'osVersion': iosInfo.systemVersion ?? '0.0',
'manufacturer': 'Apple',
'brand': 'Apple',
'model': iosInfo.model ?? 'iPhone',
'emu': iosInfo.isPhysicalDevice ? '0' : '1',
'identity': base64UrlEncode(utf8.encode(iosInfo.identifierForVendor ?? 'none')),
});
}
return left('Unsupported platform');
}