Skip to content

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).

License

Notifications You must be signed in to change notification settings

capacitor-community/device

Repository files navigation


Capacitor Device Plugin

@capacitor-community/device

Capacitor community plugin to obtain internal information about the device (e.g. disk space, etc.)


Table of Contents

Maintainers

Maintainer GitHub Active
ryaa ryaa yes

About

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

Plugin versions

Capacitor version Plugin version
7.x 7.x

Supported Platforms

  • iOS
  • Android

Installation

npm install @capacitor-community/device
npx cap sync

Apple Privacy Manifest Requirements

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.

Example PrivacyInfo.xcprivacy

<?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>

Example Plugin Usage

import { CommunityDevice } from '@capacitor-community/device';

const logDeviceInfo = async () => {
  const info = await CommunityDevice.getInfo();

  console.log(info);
};

API

getInfo()

getInfo() => Promise<CommunityDeviceInfo>

Return information about the underlying device/os/platform.

Returns: Promise<CommunityDeviceInfo>

Since: 7.0.0


Interfaces

CommunityDeviceInfo

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

About

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).

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published