ua_parser 1.0.0 copy "ua_parser: ^1.0.0" to clipboard
ua_parser: ^1.0.0 copied to clipboard

A library for parsing user agent strings, porting from the UAParser.js.

example/example.dart

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());
}
0
likes
160
points
55
downloads

Publisher

verified publisher0x0.ink

Weekly Downloads

A library for parsing user agent strings, porting from the UAParser.js.

Homepage
Repository (GitHub)
View/report issues

Topics

#user-agent #parsing

Documentation

API reference

License

MIT (license)

More

Packages that depend on ua_parser