@jigra/device
TypeScript icon, indicating that this package has built-in type declarations

5.0.2 • Public • Published

@jigra/device

The Device API exposes internal information about the device, such as the model and operating system version, along with user information such as unique ids.

Install

npm install @jigra/device
npx jig sync

Example

import { Device } from '@jigra/device';

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

  console.log(info);
};

const logBatteryInfo = async () => {
  const info = await Device.getBatteryInfo();

  console.log(info);
};

API

getId()

getId() => Promise<DeviceId>

Return an unique identifier for the device.

Returns: Promise<DeviceId>

Since: 1.0.0


getInfo()

getInfo() => Promise<DeviceInfo>

Return information about the underlying device/os/platform.

Returns: Promise<DeviceInfo>

Since: 1.0.0


getBatteryInfo()

getBatteryInfo() => Promise<BatteryInfo>

Return information about the battery.

Returns: Promise<BatteryInfo>

Since: 1.0.0


getLanguageCode()

getLanguageCode() => Promise<GetLanguageCodeResult>

Get the device's current language locale code.

Returns: Promise<GetLanguageCodeResult>

Since: 1.0.0


getLanguageTag()

getLanguageTag() => Promise<LanguageTag>

Get the device's current language locale tag.

Returns: Promise<LanguageTag>

Since: 4.0.0


Interfaces

DeviceId

Prop Type Description Since
identifier string The identifier of the device as available to the app. This identifier may change on modern mobile platforms that only allow per-app install ids. On iOS, the identifier is a UUID that uniquely identifies a device to the app’s vendor (read more). on Android 8+, the identifier is a 64-bit number (expressed as a hexadecimal string), unique to each combination of app-signing key, user, and device (read more). On web, a random identifier is generated and stored on localStorage for subsequent calls. If localStorage is not available a new random identifier will be generated on every call. 1.0.0

DeviceInfo

Prop Type Description Since
name string The name of the device. For example, "John's iPhone". This is only supported on iOS and Android 7.1 or above. On iOS 16+ this will return a generic device name without the appropriate entitlements. 1.0.0
model string The device model. For example, "iPhone13,4". 1.0.0
platform 'ios' | 'android' | 'web' The device platform (lowercase). 1.0.0
operatingSystem OperatingSystem The operating system of the device. 1.0.0
osVersion string The version of the device OS. 1.0.0
iOSVersion number The iOS version number. Only available on iOS. Multi-part version numbers are crushed down into an integer padded to two-digits, ex: "16.3.1" -> 160301 5.0.0
androidSDKVersion number The Android SDK version number. Only available on Android. 5.0.0
manufacturer string The manufacturer of the device. 1.0.0
isVirtual boolean Whether the app is running in a simulator/emulator. 1.0.0
memUsed number Approximate memory used by the current app, in bytes. Divide by 1048576 to get the number of MBs used. 1.0.0
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. 1.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. 1.0.0
realDiskFree number How much free disk space is available on the normal data storage, in bytes. 1.1.0
realDiskTotal number The total size of the normal data storage path, in bytes. 1.1.0
webViewVersion string The web view browser version 1.0.0

BatteryInfo

Prop Type Description Since
batteryLevel number A percentage (0 to 1) indicating how much the battery is charged. 1.0.0
isCharging boolean Whether the device is charging. 1.0.0

GetLanguageCodeResult

Prop Type Description Since
value string Two character language code. 1.0.0

LanguageTag

Prop Type Description Since
value string Returns a well-formed IETF BCP 47 language tag. 4.0.0

Type Aliases

OperatingSystem

'ios' | 'android' | 'windows' | 'mac' | 'unknown'

Readme

Keywords

Package Sidebar

Install

npm i @jigra/device

Weekly Downloads

0

Version

5.0.2

License

MIT

Unpacked Size

113 kB

Total Files

27

Last publish

Collaborators

  • nkduy