@capacitor-community/device
Capacitor community plugin to obtain internal information about the device (e.g. disk space, etc.)
- Maintainers
- About
- Plugin versions
- Supported Platforms
- Installation
- Apple Privacy Manifest Requirements
- Example Plugin Usage
- API
Maintainer | GitHub | Active |
---|---|---|
ryaa | ryaa | yes |
This plugin offers the API which has been removed from @capacitor/device
plugin in v7.0 (getInfo() no longer returns diskFree, diskTotal, realDiskFree and realDiskTotal). For more details also see https://capacitorjs.com/docs/updating/7-0#device
This plugin contains code derived from or inspired by @capacitor/device plugin. Please note that it is a community plugin, not maintained by the Capacitor team.
Features:
- support reading diskFree, diskTotal, realDiskFree and realDiskTotal
NOTE: The plugin version 7.0.0 is compatible with Capacitor 7
Capacitor version | Plugin version |
---|---|
7.x | 7.x |
- iOS
- Android
npm install @capacitor-community/device
npx cap sync
Apple mandates that app developers now specify approved reasons for API usage to enhance user privacy. By May 1st, 2024, it's required to include these reasons when submitting apps to the App Store Connect.
When using this specific plugin in your app, you must create a PrivacyInfo.xcprivacy
file in /ios/App
or use the VS Code Extension to generate it, specifying the usage reasons.
For detailed steps on how to do this, please see the Capacitor Docs.
For this plugin, the required dictionary key is NSPrivacyAccessedAPICategoryDiskSpace and the recommended reason is 85F4.1.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<!-- Add this dict entry to the array if the PrivacyInfo file already exists -->
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>85F4.1</string>
</array>
</dict>
</array>
</dict>
</plist>
import { CommunityDevice } from '@capacitor-community/device';
const logDeviceInfo = async () => {
const info = await CommunityDevice.getInfo();
console.log(info);
};
getInfo() => Promise<CommunityDeviceInfo>
Return information about the underlying device/os/platform.
Returns: Promise<CommunityDeviceInfo>
Since: 7.0.0
Prop | Type | Description | Since |
---|---|---|---|
diskFree |
number |
How much free disk space is available on the normal data storage path for the os, in bytes. On Android it returns the free disk space on the "system" partition holding the core Android OS. On iOS this value is not accurate. | 7.0.0 |
diskTotal |
number |
The total size of the normal data storage path for the OS, in bytes. On Android it returns the disk space on the "system" partition holding the core Android OS. | 7.0.0 |
realDiskFree |
number |
How much free disk space is available on the normal data storage, in bytes. | 7.0.0 |
realDiskTotal |
number |
The total size of the normal data storage path, in bytes. | 7.0.0 |