flutter-freaccess-hub/lib/shared/utils/device_util.dart

46 lines
1.4 KiB
Dart

import 'dart:io';
import 'package:device_info_plus/device_info_plus.dart';
class DeviceUtil {
static Future<String?> getDevUUID() async {
var deviceInfo = DeviceInfoPlugin();
if (Platform.isIOS) {
// import 'dart:io'
var iosDeviceInfo = await deviceInfo.iosInfo;
return iosDeviceInfo.identifierForVendor; // unique ID on iOS
} else if (Platform.isAndroid) {
var androidDeviceInfo = await deviceInfo.androidInfo;
return androidDeviceInfo.id; // unique ID on Android
}
return null;
}
static Future<String?> getSerialNumber() async {
var deviceInfo = DeviceInfoPlugin();
if (Platform.isIOS) {
// import 'dart:io'
var iosDeviceInfo = await deviceInfo.iosInfo;
return iosDeviceInfo.identifierForVendor; // unique ID on iOS
} else if (Platform.isAndroid) {
var androidDeviceInfo = await deviceInfo.androidInfo;
return androidDeviceInfo.serialNumber; // unique ID on Android
}
return null;
}
static Future<String?> getDeviceOSVersion() async {
var deviceInfo = DeviceInfoPlugin();
if (Platform.isIOS) {
var iosDeviceInfo = await deviceInfo.iosInfo;
return iosDeviceInfo.systemVersion; // unique ID on iOS. e.g. 14.5
} else if (Platform.isAndroid) {
var androidDeviceInfo = await deviceInfo.androidInfo;
return androidDeviceInfo.version.release; // unique ID on Android. e.g . 11
}
return null;
}
}