This forum post intends to provide additional information and guidance to Vega app developers on the requirements around User-agent string used in both Vega WebView apps and React Native for Vega apps and what aspects of User-agent string should the developers be aware of.
1. What the Vega WebView User-Agent contains
The Vega WebView user Agent string encodes device information, OS information, and web-engine information. These are intended to be informational. Per Amazon’s own guidance, these strings may change for future hardware devices, chromium browser versions and OS releases, so apps should avoid depending on them wherever possible.
Representative Vega WebView User-Agent string:
Mozilla/5.0 (Linux; Kepler 1.2; AFTCA002 user/1234; wv) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Chrome/130.0.6723.192 Safari/537.36
Note the OS token — shown here as “Kepler 1.2”. This segment reports the Vega/Kepler OS version and is exactly the part most likely to change over time.
2. What the React Native (Kepler) app User-Agent contains
React Native for Vega apps don’t run inside a browser, so they don’t expose a WebView user Agent. Instead, the device User-Agent is available through the react-native-device-info library via DeviceInfo.getUserAgent(). Like the WebView string, it encodes OS and device information, is intended to be informational, and may change across OS releases — so apps should avoid depending on it wherever possible.
Representative React Native (Kepler) User-Agent string:
Kepler/1.2 (Linux; AFTCA002)
Note the OS token — shown here as “Kepler/1.2”. As with WebView, this reports the Vega/Kepler OS version and is the part most likely to change over time. The related DeviceInfo.getSystemVersion(), getSystemName(), and getBaseOs() values carry the same OS-version information and the same volatility.
3. Key callout: the version strings in the UA string will change regularly
Expect it to change. The version string tokens in both the Vega WebView and React Native (Kepler) UA strings are expected to update regularly and will change as new OS versions are released. In WebView apps, the Chromium (web-engine) version typically changes even more frequently than the OS version, so treat it as equally volatile.
Don’t hardcode. Do not build feature gates, device detection, or content decisions on exact substring matches of Amazon’s default UA. Treat the value as opaque and read it as-is; do not parse the OS version for conditional logic. If you must read it, limit use to coarse, non-version signals — for example detecting that the app is running in Vega WebView at all — and never branch on specific OS or Chromium version numbers.
4. Key callout: append your own signal instead of parsing Amazon’s default UA
If your backend systems genuinely need to identify Vega traffic, an app build, or an app-specific capability, the recommended pattern is to send your own app-owned signal rather than depending on Amazon’s default string. In a WebView app, override the WebView User-Agent and append your own custom token(s). In a React Native app, attach app-owned HTTP request headers (or a custom User-Agent header) that your server’s control, rather than relying on DeviceInfo.getUserAgent().
Append, don’t replace-and-parse. Append a stable, app-owned token (for example an app id, app version, or capability flag) that your server’s control and can rely on across OS releases. Treating a platform’s default UA as opaque and relying on your own signal is a general best practice, not specific to Vega.
Own your signal. Because Amazon’s default UA segments can change under you, your own appended token is the durable, forward-compatible signal for backend routing, analytics, or capability negotiation.
Preserve compatibility. Keep the standard/base UA intact where possible so general web compatibility (WebKit/Chrome tokens, media capability detection) continues to work.
React Native apps: use request headers. React Native for Vega apps have no WebView UA to override. They make network calls via fetch/XHR, so add app-owned HTTP headers (for example X-App-Id or X-App-Version), or a custom User-Agent header your server’s control, rather than parsing DeviceInfo.getUserAgent().
5. Key callout: coordinate backend requirements with your Amazon contact
If you have specific requirements for how User-Agent strings must be handled on your backend servers — for example to enable Vega WebView app-specific functionality, DRM/licensing flows, entitlement checks, or content selection — please reach out to your Amazon contact (your Partner Solutions Architect or Partner Manager on the Fire TV CAPE team). We can help validate your UA strategy, confirm expected values across OS releases, and make sure your server-side handling is compatible with upcoming Vega OS changes before they reach devices in the field.
6. Recommended checklist
Read userA gent (WebView) or DeviceInfo.getUserAgent() (React Native) as an opaque string; use it as-is.
Never gate features or content on an exact OS-version substring (e.g., “1.1” vs “1.2”).
If backend identification is required, override the WebView UA (WebView apps) or attach app-owned request headers (React Native apps) instead of depending on Amazon’s UA.
Validate media playback via media-capability APIs, not UA sniffing.
Re-test any UA-dependent logic against the latest Vega OS release before launch.
Engage your Fire TV CAPE contact early for any server-side UA requirements.
Reference documentation
Development Best Practices for Web Apps (Vega) — “Avoid relying on the userAgent” — https://developer.amazon.com/docs/vega/0.23/webview-development-best-practices-tv.html#avoid-relying-on-the-useragent
react-native-device-info (Vega) — DeviceInfo.getUserAgent() and device/OS properties — https://developer.amazon.com/docs/vega-api/0.23/react-native-device-info.html
Vega WebView Component Reference — userAgent property — https://developer.amazon.com/docs/vega-api/0.23/webview-component-reference.html
Developer Guide for Web Apps on Vega — https://developer.amazon.com/docs/vega/0.23/develop-your-app-with-webview.html
Overview of Vega Web Apps — https://developer.amazon.com/docs/vega/0.23/overview-of-webview.html
Performance Best Practices for Web Apps (Vega) — https://developer.amazon.com/docs/vega/0.23/webview-app-performance-best-practices.html
Vega Release Notes (check for UA / OS version changes per release) — https://developer.amazon.com/docs/vega/latest/vega-release-notes.html