getUserAgent method
Future<String?>
getUserAgent(
{ - DeviceInfoPlugin? deviceInfoPlugin,
})
Implementation
@visibleForTesting
Future<String?> getUserAgent({
DeviceInfoPlugin? deviceInfoPlugin,
}) async {
try {
final effectiveDeviceInfo = deviceInfoPlugin ?? DeviceInfoPlugin();
if (_platformInfo.isWeb) {
final webBrowserInfo = await effectiveDeviceInfo.webBrowserInfo;
return webBrowserInfo.userAgent;
} else if (_platformInfo.isAndroid) {
final androidInfo = await effectiveDeviceInfo.androidInfo;
final release = androidInfo.version.release;
final sdkInt = androidInfo.version.sdkInt;
final manufacturer = androidInfo.manufacturer;
final model = androidInfo.model;
return 'Android $release (SDK $sdkInt), $manufacturer $model';
} else if (_platformInfo.isIOS) {
final iosInfo = await effectiveDeviceInfo.iosInfo;
final systemName = iosInfo.systemName;
final version = iosInfo.systemVersion;
final model = iosInfo.model;
return '$systemName $version, $model';
} else if (_platformInfo.isWindows) {
final windowsInfo = await effectiveDeviceInfo.windowsInfo;
final releaseId = windowsInfo.releaseId;
final buildNumber = windowsInfo.buildNumber;
return 'Windows $releaseId.$buildNumber';
} else if (_platformInfo.isMacOS) {
final macInfo = await effectiveDeviceInfo.macOsInfo;
final model = macInfo.model;
final version = macInfo.kernelVersion;
final release = macInfo.osRelease;
return '$model, $version, $release';
} else if (_platformInfo.isLinux) {
final linuxInfo = await effectiveDeviceInfo.linuxInfo;
return linuxInfo.prettyName;
} else {
return 'Unknown';
}
} catch (e) {
return 'Unknown';
}
}