HapticsOptions
strata-game-library/capacitor / HapticsOptions
Interface: HapticsOptions
Defined in: definitions.ts:75
Unified haptics options supporting multiple vibration modes.
Examples
// Preset intensity
await triggerHaptics({ intensity: 'medium' });// Custom intensity with duration
await triggerHaptics({ customIntensity: 0.7, duration: 30 });// Pattern (Android/Web only)
await triggerHaptics({ pattern: [100, 50, 100, 50, 100] });Properties
customIntensity?
optionalcustomIntensity:number
Defined in: definitions.ts:93
Custom intensity (0-1) for fine-grained control. If specified, takes precedence over intensity preset. Note: iOS will round to nearest preset (light/medium/heavy).
Minimum
0
Maximum
1
duration?
optionalduration:number
Defined in: definitions.ts:99
Duration in milliseconds. Note: iOS ignores this parameter (uses system default ~10ms).
Default
Based on intensity (light=10, medium=25, heavy=50)intensity?
optionalintensity:"light"|"medium"|"heavy"
Defined in: definitions.ts:85
Preset intensity level (recommended for consistency across platforms). Maps to platform-specific intensities:
- iOS: UIImpactFeedbackGenerator.light/medium/heavy
- Android: Amplitude 50/150/255
- Web: Duration 10/25/50ms (or gamepad magnitude 0.25/0.5/1.0)
Optional when customIntensity or pattern is provided; defaults to 'medium'.
pattern?
optionalpattern:number[]
Defined in: definitions.ts:108
Vibration pattern: [vibrate, pause, vibrate, pause, ...] in milliseconds. When specified, overrides duration and intensity. Note: Not supported on iOS. Android supports patterns. Web: Uses Navigator.vibrate() pattern array. Note: Pattern-based haptics do not trigger gamepad vibration.
Example
[100, 50, 100] // vibrate 100ms, pause 50ms, vibrate 100msstyle?
optionalstyle:"light"|"medium"|"heavy"
Defined in: definitions.ts:116
Legacy style for backward compatibility.
type?
optionaltype:"impact"|"notification"|"selection"
Defined in: definitions.ts:112
Legacy type for backward compatibility with initial implementation.
