# rntpc_react-native-user-agent **Repository Path**: openharmony-sig/rntpc_react-native-user-agent ## Basic Information - **Project Name**: rntpc_react-native-user-agent - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: https://gitee.com/openharmony-sig/rntpc_react-native-user-agent - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-15 - **Last Updated**: 2025-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚨 **重要提示 | IMPORTANT** > > **⚠️ 此代码仓已归档。新地址请访问 [rntpc_react-native-user-agent](https://gitcode.com/openharmony-sig/rntpc_react-native-user-agent)。| ⚠️ This repository has been archived. For the new address, please visit [rntpc_react-native-user-agent](https://gitcode.com/openharmony-sig/rntpc_react-native-user-agent).** > --- > # React Native User Agent ## Platforms Supported - [x] iOS - [x] Android ## Getting Started Guide 1. Add react-native-user-agent to your dependencies ```sh yarn add react-native-user-agent ``` or, for npm use ```sh npm install react-native-user-agent --save ``` 2. 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](https://engineering.brigad.co/demystifying-react-native-modules-linking-ae6c017a6b4a) 2.2 **react-native < 0.60** You have to call `link` command manualy: ```sh react-native link react-native-user-agent ``` *For manual linking*, please refer to: - [that article](https://engineering.brigad.co/demystifying-react-native-modules-linking-964399ec731b) for Android - [react-native own tutorial](https://facebook.github.io/react-native/docs/linking-libraries-ios) for iOS ## Usage ```javascript 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 | | 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 ## Versioning **Breaking History:** - [2.3.0](https://github.com/bebnev/react-native-user-agent/releases/tag/v2.3.0) - unification for ios device names - fix android gradle script - add types definition - [2.1.0](https://github.com/bebnev/react-native-user-agent/releases/tag/v2.1.0) - support for tvos - [2.0.0](https://github.com/bebnev/react-native-user-agent/releases/tag/v2.0.0) - supports [autolinking](https://github.com/react-native-community/cli/blob/master/docs/autolinking.md), native code refactoring, removes UIWebView, `getWebViewUserAgent()` returns promise - [1.0.6](https://github.com/bebnev/react-native-user-agent/releases/tag/v1.0.6) - First release ## License [MIT](LICENSE). Copyright (c) 2018 Anton Bebnev.