ua_parser 1.0.0
ua_parser: ^1.0.0 copied to clipboard
A library for parsing user agent strings, porting from the UAParser.js.
import 'package:ua_parser/ua_parser.dart';
void main() {
// Example user agent strings
final userAgents = [
// Chrome on Windows
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
// Safari on iPhone
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Mobile/15E148 Safari/604.1',
// Firefox on macOS
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:89.0) Gecko/20100101 Firefox/89.0',
// Edge on Windows
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59',
// Samsung Galaxy Android
'Mozilla/5.0 (Linux; Android 11; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36',
];
print('=== UA Parser Dart Example ===\n');
for (int i = 0; i < userAgents.length; i++) {
final ua = userAgents[i];
print('Example ${i + 1}:');
print('UA: ${ua.length > 80 ? '${ua.substring(0, 80)}...' : ua}');
// Parse the user agent
final result = UaParser.parse(ua);
print('Browser: ${result.browser.name} ${result.browser.version} (major: ${result.browser.major})');
print('OS: ${result.os.name} ${result.os.version ?? 'Unknown'}');
print('Device: ${result.device.vendor ?? 'Unknown'} ${result.device.model ?? 'Unknown'} (${result.device.type ?? 'Unknown'})');
print('Engine: ${result.engine.name ?? 'Unknown'} ${result.engine.version ?? 'Unknown'}');
print('CPU: ${result.cpu.architecture ?? 'Unknown'}');
print('');
}
// Example of using parser instance for multiple operations
print('=== Parser Instance Example ===');
final parser = UaParser();
parser.setUserAgent(userAgents[0]);
print('Current UA: ${parser.getUserAgent().substring(0, 50)}...');
final browser = parser.getBrowser();
final os = parser.getOs();
final device = parser.getDevice();
final engine = parser.getEngine();
final cpu = parser.getCpu();
print('Browser info: $browser');
print('OS info: $os');
print('Device info: $device');
print('Engine info: $engine');
print('CPU info: $cpu');
// Get complete result
final completeResult = parser.getResult();
print('\nComplete result as Map:');
print(completeResult.toMap());
}