{"library":"react-native-device-info","title":"React Native Device Information","description":"react-native-device-info is a comprehensive library for React Native applications that provides access to various device-specific information across iOS, Android, and Windows platforms. It allows developers to retrieve details such as device unique ID, brand, model, OS version, system name, application build number, and more. The current stable version is 15.0.2, released in early 2026. The package maintains a frequent release cadence, often issuing multiple patch and minor versions monthly, with major versions typically arriving a few times a year, indicating active development and timely updates for new device capabilities and platform changes. Its key differentiators include broad platform support, a rich API covering a wide range of device properties, and a commitment to keeping up with the latest React Native and platform SDK versions, which sometimes introduces breaking changes related to compilation targets or permissions.","language":"javascript","status":"active","last_verified":"Sun Apr 19","install":{"commands":["npm install react-native-device-info"],"cli":null},"imports":["import DeviceInfo from 'react-native-device-info';","import { getUniqueId } from 'react-native-device-info';","import { getManufacturer } from 'react-native-device-info';","import type { DeviceType } from 'react-native-device-info';"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import DeviceInfo, {\n  getUniqueId,\n  getManufacturer,\n  getSystemName,\n  getSystemVersion,\n  isTablet,\n  getApplicationName,\n  getVersion,\n  getBuildNumber\n} from 'react-native-device-info';\nimport { View, Text, StyleSheet } from 'react-native';\nimport React from 'react';\n\nconst App = () => {\n  const [deviceDetails, setDeviceDetails] = React.useState({});\n\n  React.useEffect(() => {\n    async function fetchDeviceInfo() {\n      const uniqueId = await getUniqueId();\n      const manufacturer = await getManufacturer();\n      const systemName = getSystemName();\n      const systemVersion = getSystemVersion();\n      const isTabletDevice = isTablet();\n      const appName = getApplicationName();\n      const appVersion = getVersion();\n      const buildNumber = getBuildNumber();\n\n      setDeviceDetails({\n        uniqueId,\n        manufacturer,\n        systemName,\n        systemVersion,\n        isTablet: isTabletDevice,\n        appName,\n        appVersion,\n        buildNumber,\n        deviceBrand: DeviceInfo.getBrand(),\n        model: DeviceInfo.getModel(),\n        hasNotch: DeviceInfo.hasNotch(),\n      });\n    }\n    fetchDeviceInfo();\n  }, []);\n\n  return (\n    <View style={styles.container}>\n      <Text style={styles.header}>Device Information:</Text>\n      {Object.entries(deviceDetails).map(([key, value]) => (\n        <Text key={key} style={styles.detailText}>\n          {key}: {String(value)}\n        </Text>\n      ))}\n    </View>\n  );\n};\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    padding: 20,\n    backgroundColor: '#f0f0f0',\n  },\n  header: {\n    fontSize: 24,\n    fontWeight: 'bold',\n    marginBottom: 20,\n    color: '#333',\n  },\n  detailText: {\n    fontSize: 16,\n    marginBottom: 5,\n    color: '#555',\n  },\n});\n\nexport default App;\n","lang":"typescript","description":"This React Native component demonstrates how to fetch and display various device and application details using `react-native-device-info`'s named and default exports. It fetches asynchronous details like unique ID and manufacturer, along with synchronous details like system name, and renders them in a simple UI.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}