/react-native-user-agent

Library that helps you to get mobile application user agent and web view user agent strings

Primary LanguageObjective-CMIT LicenseMIT

React Native User Agent

Platforms Supported

  • iOS
  • Android

Getting Started Guide

  1. 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
  1. 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:

Usage

import UserAgent from 'react-native-user-agent';

UserAgent.getUserAgent(); //synchronous

UserAgent.getWebViewUserAgent() //asynchronous
    .then(ua => {})
    .catch(e => {})

Examples:

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
iOS application-name/1.6.4.176 CFNetwork/1098.7 Darwin/19.2.0 (iPhone 11 iOS/13.0) Mozilla/5.0 (iPhone; CPU iPhone OS 13_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Mobile/15E148
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
  • applicatioName
  • applicationVersion
  • buildNumber

Versioning

Breaking History:

  • 2.1.0 - support for tvos
  • 2.0.0 - supports autolinking, native code refactoring, removes UIWebView, getWebViewUserAgent() returns promise
  • 1.0.6 - First release

License

MIT. Copyright (c) 2018 Anton Bebnev.