Skip to content

Cap-go/capacitor-accelerometer

@capgo/capacitor-accelerometer

Capgo - Instant updates for capacitor

Access raw accelerometer measurements across iOS, Android, and the Web.

Why Capacitor Accelerometer?

The only free and maintained Capacitor plugin for accelerometer access. Other plugins are either paid or no longer updated. This plugin provides:

  • Up-to-date implementation - Uses the latest APIs across all platforms
  • Consistent JavaScript API - Same interface as popular paid alternatives
  • Cross-platform - Works on iOS, Android, and Web
  • Permission handling - Built-in permission management
  • Real-time streaming - Listen to continuous accelerometer updates

Perfect for fitness apps, games, gesture detection, and motion-based interfaces.

Documentation

The most complete doc is available here: https://capgo.app/docs/plugins/accelerometer/

Install

npm install @capgo/capacitor-accelerometer
npx cap sync

API

Capacitor plugin contract for working with the device accelerometer.

getMeasurement()

getMeasurement() => Promise<GetMeasurementResult>

Get the most recent accelerometer sample that was recorded by the native layer.

Returns: Promise<Measurement>

Since: 1.0.0


isAvailable()

isAvailable() => Promise<IsAvailableResult>

Check if the current device includes an accelerometer sensor.

Returns: Promise<IsAvailableResult>

Since: 1.0.0


startMeasurementUpdates()

startMeasurementUpdates() => Promise<void>

Begin streaming accelerometer updates to the JavaScript layer.

Call {@link addListener} with the measurement event to receive the updates.

Since: 1.0.0


stopMeasurementUpdates()

stopMeasurementUpdates() => Promise<void>

Stop streaming accelerometer updates started via {@link startMeasurementUpdates}.

Since: 1.0.0


checkPermissions()

checkPermissions() => Promise<PermissionStatus>

Return the current permission state for accessing motion data.

On platforms without explicit permissions this resolves to granted.

Returns: Promise<PermissionStatus>

Since: 1.0.0


requestPermissions()

requestPermissions() => Promise<PermissionStatus>

Request permission to access motion data if supported by the platform.

Returns: Promise<PermissionStatus>

Since: 1.0.0


addListener('measurement', ...)

addListener(eventName: 'measurement', listenerFunc: (event: MeasurementEvent) => void) => Promise<PluginListenerHandle>

Listen for measurement updates.

Param Type Description
eventName 'measurement' Only the measurement event is supported.
listenerFunc (event: Measurement) => void Callback invoked with each measurement.

Returns: Promise<PluginListenerHandle>

Since: 1.0.0


removeAllListeners()

removeAllListeners() => Promise<void>

Remove all listeners that have been registered on the plugin.

Since: 1.0.0


getPluginVersion()

getPluginVersion() => Promise<{ version: string; }>

Get the native Capacitor plugin version.

Returns: Promise<{ version: string; }>

Since: 1.0.0


Interfaces

Measurement

The x, y and z axis acceleration values reported by the device motion sensors.

Prop Type Description Since
x number The acceleration on the x-axis in G's. 1.0.0
y number The acceleration on the y-axis in G's. 1.0.0
z number The acceleration on the z-axis in G's. 1.0.0

IsAvailableResult

Result returned by {@link CapacitorAccelerometerPlugin.isAvailable}.

Prop Type Description Since
isAvailable boolean Whether an accelerometer sensor is available on the device. 1.0.0

PermissionStatus

Permission information returned by {@link CapacitorAccelerometerPlugin.checkPermissions} and {@link CapacitorAccelerometerPlugin.requestPermissions}.

Prop Type Description Since
accelerometer AccelerometerPermissionState The permission state for accessing motion data on the current platform. 1.0.0

PluginListenerHandle

Prop Type
remove () => Promise<void>

Type Aliases

GetMeasurementResult

Alias for the most recent measurement.

Measurement

AccelerometerPermissionState

Permission state union including limited for platforms that can throttle motion access.

PermissionState | 'limited'

PermissionState

'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'

MeasurementEvent

Event payload emitted when {@link CapacitorAccelerometerPlugin.startMeasurementUpdates} is active.

Measurement

Credit

This plugin was inspired from: https://github.com/kesha-antonov/react-native-background-downloader

About

Capacitor plugin to read device accelerometer measurements

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •