What is expo-device?
The expo-device package provides access to device information such as the device model, manufacturer, operating system, and more. It is useful for tailoring the user experience based on the device's capabilities and characteristics.
What are expo-device's main functionalities?
Get Device Model
This feature allows you to retrieve the model name of the device. It can be useful for debugging or for providing device-specific functionality.
import * as Device from 'expo-device';
console.log(Device.modelName);
Get Device Manufacturer
This feature allows you to get the manufacturer of the device. This can be useful for analytics or for customizing the user experience based on the device manufacturer.
import * as Device from 'expo-device';
console.log(Device.manufacturer);
Get Operating System
This feature allows you to retrieve the name of the operating system running on the device. It can be useful for tailoring functionality or UI based on the OS.
import * as Device from 'expo-device';
console.log(Device.osName);
Check if Device is a Tablet
This feature allows you to check if the device is a tablet. This can be useful for adjusting layouts or features for larger screens.
import * as Device from 'expo-device';
console.log(Device.isTablet);
Other packages similar to expo-device
react-native-device-info
The react-native-device-info package provides similar functionalities to expo-device, such as retrieving device information like model, manufacturer, and OS. It also offers additional features like battery level, device ID, and more. It is a more comprehensive solution but requires linking and additional setup compared to expo-device.
device
The device package is a lightweight library that provides basic device information such as the device type and operating system. It is less comprehensive than expo-device and react-native-device-info but can be a good choice for simple use cases.
expo-device
Provides specific information about the device running the application.
API documentation
Installation in managed Expo projects
For managed managed Expo projects, please follow the installation instructions in the API documentation for the latest stable release. If you follow the link and there is no documentation available then this library is not yet usable within managed projects — it is likely to be included in an upcoming Expo SDK release.
Installation in bare React Native projects
For bare React Native projects, you must ensure that you have installed and configured the react-native-unimodules
package before continuing.
Add the package to your npm dependencies
npm install expo-device
Contributing
Contributions are very welcome! Please refer to guidelines described in the contributing guide.