device_package_info_manager library
A comprehensive Flutter package for managing device and package information across Flutter applications.
This library provides clean, type-safe interfaces for accessing both package and device information with comprehensive utilities for version comparison, caching, validation, and more.
Example usage:
import 'package:device_package_info_manager/device_package_info_manager.dart';
void main() async {
// Package Information Management
final packageManager = await PackageInfoManagerImpl.create();
final packageInfo = packageManager.getPackageInfo();
print('App Name: ${packageInfo.safeAppName}');
print('Version: ${packageInfo.displayVersion}');
packageManager.printPackageInfo();
// Device Information Management
final deviceManager = await DeviceInfoManagerImpl.create();
final deviceInfo = deviceManager.getDeviceInfo();
print('Device: ${deviceInfo.displayName}');
print('OS: ${deviceInfo.fullDeviceInfo}');
print('Report: ${deviceManager.generateDeviceReport()}');
// Device Identification (integrated into DeviceInfoManager)
final persistentId = deviceManager.getPersistentUserId();
final anonymizedId = deviceInfo.anonymizedDeviceId;
print('Persistent User ID: $persistentId'); // Safe for Firestore!
print('Anonymized ID: $anonymizedId');
print('Primary Language: ${deviceInfo.primaryLanguage}');
// Use specific utilities
final isPhysical = deviceManager.isPhysicalDevice();
final debugInfo = deviceManager.getDebugInfo();
}
Classes
- AppDeviceInfo
- Comprehensive model for storing and managing device information across Flutter applications.
- AppPackageInfo
- Comprehensive model for storing and managing package information across Flutter applications.
- DeviceInfoManager
- Comprehensive interface for managing device information across Flutter applications.
- DeviceInfoManagerImpl
- Implementation of DeviceInfoManager that fetches device information from the device.
- PackageInfoManager
- Comprehensive interface for managing package information across Flutter applications.
- PackageInfoManagerImpl
- Implementation of PackageInfoManager that fetches package information from the device.
Enums
- DeviceType
- Enumeration of device types for categorizing different device form factors.