import 'package:device_info/device_info.dart'; import 'dart:io' show Platform; class DevInfo { bool? isAndroid; bool? isIOS; String? deviceID; String? id; String? model; static DevInfo? _instance; static Future getDevInfo() async { if (_instance != null) return Future.value(_instance); _instance = DevInfo(); DeviceInfoPlugin deviceInfo = DeviceInfoPlugin(); if (Platform.isAndroid) { AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo; _instance!.deviceID = androidInfo.androidId; _instance!.id = androidInfo.id; _instance!.model = androidInfo.model; } else if (Platform.isIOS) { IosDeviceInfo iosDeviceInfo = await deviceInfo.iosInfo; _instance!.deviceID = iosDeviceInfo.identifierForVendor; _instance!.id = iosDeviceInfo.utsname.release; _instance!.model = iosDeviceInfo.model; } return Future.value(_instance); } }