An open API service indexing awesome lists of open source software.

https://github.com/zalweny26/capacitor-systeminfo

Capacitor plugin to get access to every info about the device software and hardware
https://github.com/zalweny26/capacitor-systeminfo

android capacitor capacitor-plugin ios kotlin plugin swift system-information typescript web

Last synced: 2 months ago
JSON representation

Capacitor plugin to get access to every info about the device software and hardware

Awesome Lists containing this project

README

          

# Capacitor Plugin - SystemInfo

Get access to every info about the device software and hardware!

Supported Android version: `23+`\
Supported iOS version: `Not supported`\
Supported Browsers: `Chromium-based`

## Install

```bash
npm install @danyalwe/capacitor-systeminfo
npx cap sync
```

## Todos

- [ ] Add support for iOS
- [ ] Add CPU usage

## Example

The following example demonstrates how to use the SystemInfo plugin to access the device's info:

```ts
import { SystemInfo } from '@danyalwe/capacitor-systeminfo'

// Get all system informations
const info = await SystemInfo.getInfos()

// Add a listener to receive used ram, hdd and sd every second
SystemInfo.addListener('runtimeChange', (data) => {
console.log('Runtime data:', data)
})

// Be sure to start ALWAYS AFTER adding the listener
await SystemInfo.start()

// Stop the listener
await SystemInfo.stop()
```

## Supported methods

| Name | Android | iOS | Web |
| :----------------- | :------ | :-- | :-- |
| getInfos | ✅ | ❌ | ✅ |
| start | ✅ | ❌ | ❌ |
| stop | ✅ | ❌ | ❌ |
| addListener | ✅ | ❌ | ❌ |
| removeAllListeners | ✅ | ❌ | ❌ |

## Supported properties

| SoftwareInfos | Android | iOS | Web |
| :---------------------- | :------ | :-- | :-- |
| **`osName`** | ✅ | ❌ | ✅ |
| **`osVersion`** | ✅ | ❌ | ✅ |
| **`brandName`** | ✅ | ❌ | ✅ |
| **`sdkVersion`** | ✅ | ❌ | ❌ |
| **`sdkName`** | ✅ | ❌ | ❌ |
| **`securityPatch`** | ✅ | ❌ | ❌ |
| **`uiVersion`** | ✅ | ❌ | ❌ |
| **`deviceID`** | ✅ | ❌ | ❌ |
| **`boardName`** | ✅ | ❌ | ❌ |
| **`bootloaderVersion`** | ✅ | ❌ | ❌ |
| **`supportedABIs`** | ✅ | ❌ | ❌ |

| HardwareInfos | Android | iOS | Web |
| :------------------ | :------ | :-- | :-- |
| **`manufacturer`** | ✅ | ❌ | ✅ |
| **`features`** | ✅ | ❌ | ✅ |
| **`totalCores`** | ✅ | ❌ | ✅ |
| **`totalRAM`** | ✅ | ❌ | ✅ |
| **`totalHDD`** | ✅ | ❌ | ⚠️ |
| **`totalSD`** | ✅ | ❌ | ❌ |
| **`modelID`** | ✅ | ❌ | ❌ |
| **`modelCodeName`** | ✅ | ❌ | ❌ |
| **`cpuModel`** | ✅ | ❌ | ❌ |
| **`cpuCores`** | ✅ | ❌ | ❌ |

⚠️: Not real total, it's the available

| RuntimeInfos | Android | iOS | Web |
| :------------ | :------ | :-- | :-- |
| **`usedRAM`** | ✅ | ❌ | ❌ |
| **`usedHDD`** | ✅ | ❌ | ❌ |
| **`usedSD`** | ✅ | ❌ | ❌ |

## API

* [Interfaces](#interfaces)
* [Type Aliases](#type-aliases)

Interface for the System Info plugin

### Interfaces

#### SoftwareInfos

Represents software information about a device.

| Prop | Type | Description |
| ----------------------- | ------------------- | ---------------------------------------------------- |
| **`osName`** | string | The name of the operating system. |
| **`osVersion`** | string | The version of the operating system. |
| **`brandName`** | string | The name of the device brand. |
| **`sdkVersion`** | number | The version of the SDK (if applicable). |
| **`sdkName`** | string | The name of the SDK (if applicable). |
| **`securityPatch`** | string | The security patch level (if applicable). |
| **`uiVersion`** | string | The version of the UI (if applicable). |
| **`deviceID`** | string | The unique identifier of the device (if applicable). |
| **`boardName`** | string | The name of the device board (if applicable). |
| **`bootloaderVersion`** | string | The version of the bootloader (if applicable). |
| **`supportedABIs`** | {} | The list of supported ABIs (if applicable). |

#### HardwareInfos

Represents hardware information of a device.

| Prop | Type | Description |
| ------------------- | ------------------- | ------------------------------------------- |
| **`modelID`** | string | The model ID of the device. |
| **`modelCodeName`** | string | The code name of the device model. |
| **`cpuModel`** | string | The model of the CPU. |
| **`cpuCores`** | {} | The number of cores and threads of the CPU. |
| **`totalSD`** | number | The total size of the SD card in bytes. |
| **`totalHDD`** | number | The total size of the HDD in bytes. |
| **`totalRAM`** | number | The total size of the RAM in bytes. |
| **`totalCores`** | number | The total number of cores in the CPU. |
| **`manufacturer`** | string | The manufacturer of the device. |
| **`features`** | {} | The features supported by the device. |

#### RuntimeInfos

Interface for runtime information.

| Prop | Type | Description |
| ------------- | ------------------- | -------------------------------------------- |
| **`usedRAM`** | number | The amount of used RAM in bytes. |
| **`usedHDD`** | number | The amount of used HDD in bytes. |
| **`usedSD`** | number | The amount of used SD card storage in bytes. |

#### PluginListenerHandle

| Prop | Type |
| ------------ | ------------------------- |
| **`remove`** | () => any |

### Type Aliases

#### SystemInformations

Represents a collection of system information, including both software and hardware information.

SoftwareInfos & HardwareInfos

#### Features

Represents the available features that can be queried using the Capacitor System Info plugin.

'bluetooth' | 'bluetoothLowEnergy' | 'microphone' | 'speaker' | 'nfc' | 'camera' | 'gamepad' | 'gps' | 'touchscreen' | 'wifi' | 'fingerprint' | 'face' | 'ethernet'