x_user_agent 1.0.0
x_user_agent: ^1.0.0 copied to clipboard
Retrieve device user agents in Flutter
x_user_agent #
A Flutter plugin for inspecting mobile user-agent data on Android and iOS.
Usage #
final webViewUserAgent = await getWebViewUserAgent();
final systemUserAgent = await getSystemUserAgent();
final userAgentData = await getUserAgentData();
final clientHintsHeaders = await getClientHintsHeaders();
Example app #
The bundled example app shows the plugin output in a small demo inspector UI.
Run it from the example directory:
flutter run
Current example structure:
example/lib/
├── main.dart
└── demo/
├── demo_app.dart
├── demo_page.dart
└── widgets/
├── hero_card.dart
├── key_value_list.dart
├── section_card.dart
├── state_cards.dart
└── summary_row.dart
XUserAgentData fields #
| Field | Type | Notes |
|---|---|---|
platform |
String? |
OS name such as Android or iOS. |
platformVersion |
String? |
OS version string. |
model |
String? |
Device model. |
architecture |
String? |
CPU architecture when available. |
appName |
String? |
App display name. |
appVersion |
String? |
App semantic version. |
buildNumber |
String? |
App build number. |
packageName |
String? |
Android package name or iOS bundle identifier. |
mobile |
bool? |
Whether the device is mobile. |
device |
String? |
Lower-level device identifier. |
brand |
String? |
Device manufacturer or brand. |
isEmulator |
bool? |
true on emulator or simulator when detectable. |
darwinVersion |
String? |
Darwin kernel version on iOS when available. |
cfnetworkVersion |
String? |
CFNetwork version on iOS when available. |
All fields are nullable. Missing values are omitted rather than filled with placeholders.
getClientHintsHeaders() example #
getClientHintsHeaders() returns a conservative subset derived from local device data.
final headers = await getClientHintsHeaders();
print(headers);
Example output:
{
'Sec-CH-UA-Platform': '"Android"',
'Sec-CH-UA-Platform-Version': '"14"',
'Sec-CH-UA-Mobile': '?1',
'Sec-CH-UA-Model': '"Pixel 8"',
'Sec-CH-UA-Arch': '"arm64-v8a"',
}
Example user agents #
| System | User-Agent | WebView User-Agent |
|---|---|---|
| iOS | CFNetwork/897.15 Darwin/17.5.0 (iPhone/6s iOS/11.3) |
Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E217 |
| Android | Dalvik/2.1.0 (Linux; U; Android 5.1.1; Android SDK built for x86 Build/LMY48X) |
Mozilla/5.0 (Linux; Android 5.1.1; Android SDK built for x86 Build/LMY48X) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36 |
These are representative examples. Actual values vary by OS version, device model, WebView version, and runtime environment.