- iOS
- Android
- Add react-native-user-agent to your dependencies
yarn add react-native-user-agent
or, for npm use
npm install react-native-user-agent --save
- Link native dependencies
2.1 react-native >= 0.60
Autolinking will take care of the link step, but for iOS, don't forget to run pod install
in ios/
folder
If you haven't set up cocoapods yet, please refer to that article
2.2 react-native < 0.60
You have to call link
command manualy:
react-native link react-native-user-agent
For manual linking, please refer to:
- that article for Android
- react-native own tutorial for iOS
import UserAgent from 'react-native-user-agent';
UserAgent.getUserAgent(); //synchronous
UserAgent.getWebViewUserAgent() //asynchronous
.then(ua => {})
.catch(e => {})
System | User-Agent | WebView User-Agent |
---|---|---|
iOS | application-name/1.6.4.176 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 | application-name/1.6.7.42 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 |
Additionally module returns a set of constants, that are used in user agent string building.
For iOS:
- systemName
- systemVersion
- applicationName
- applicationVersion
- buildNumber
- darwinVersion
- cfnetworkVersion
- deviceName deprecated
- modelName
For Android:
- systemName
- systemVersion
- applicationName
- applicationVersion
- buildNumber
Breaking History:
- 2.3.1
- fix android gradle script
- 2.3.0
- unification for ios device names
- fix android gradle script
- add types definition
- 2.1.0 - support for tvos
- 2.0.0 - supports autolinking, native code refactoring, removes UIWebView,
getWebViewUserAgent()
returns promise - 1.0.6 - First release
MIT. Copyright (c) 2018 Anton Bebnev.