# Vibrate
[![pub package](https://img.shields.io/pub/v/vibrate.svg)](https://pub.dartlang.org/packages/vibrate)
A Flutter plugin to vibrate the device.
This uses all the current Haptic Feedback APIs from Apple and provides similar feedback on Android.
## Usage
To use this plugin, add `vibrate` as a [dependency in your pubspec.yaml file](https://flutter.io/platform-plugins/).
Make sure you add the following permissions to your Android Manifest
``` xml
```
## Usage
``` dart
// Import package
import 'package:vibrate/vibrate.dart';
```
### Vibration
``` dart
// Check if the device can vibrate
bool canVibrate = await Vibrate.canVibrate;
// Vibrate
// Vibration duration is a constant 500ms because
// it cannot be set to a specific duration on iOS.
Vibrate.vibrate();
// Vibrate with pauses between each vibration
final Iterable pauses = [
const Duration(milliseconds: 500),
const Duration(milliseconds: 1000),
const Duration(milliseconds: 500),
];
// vibrate - sleep 0.5s - vibrate - sleep 1s - vibrate - sleep 0.5s - vibrate
Vibrate.vibrateWithPauses(pauses);
```
### Haptic Feedback
``` dart
// Choose from any of these available methods
enum FeedbackType {
success,
error,
warning,
selection,
impact,
heavy,
medium,
light
}
var _type = FeedbackType.impact;
Vibrate.feedback(_type);
```
## Documentation
#### Android
https://developer.android.com/reference/android/view/HapticFeedbackConstants
#### iOS
https://developer.apple.com/design/human-interface-guidelines/ios/user-interaction/feedback/