{"id":16401794,"url":"https://github.com/nohli/haptic_feedback","last_synced_at":"2025-09-10T15:38:21.309Z","repository":{"id":188117136,"uuid":"678014790","full_name":"nohli/haptic_feedback","owner":"nohli","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-30T05:39:57.000Z","size":206,"stargazers_count":14,"open_issues_count":8,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-20T03:14:09.311Z","etag":null,"topics":["android","dart","flutter","hacktoberfest","haptic-feedback","haptics","ios"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/haptic_feedback","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nohli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-13T12:07:48.000Z","updated_at":"2024-11-01T07:45:06.000Z","dependencies_parsed_at":"2023-08-13T20:50:33.291Z","dependency_job_id":"74538e9c-a8d8-4a1e-b3aa-e8cd1f563011","html_url":"https://github.com/nohli/haptic_feedback","commit_stats":null,"previous_names":["nohli/haptic_feedback"],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nohli%2Fhaptic_feedback","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nohli%2Fhaptic_feedback/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nohli%2Fhaptic_feedback/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nohli%2Fhaptic_feedback/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nohli","download_url":"https://codeload.github.com/nohli/haptic_feedback/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230619330,"owners_count":18254556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","dart","flutter","hacktoberfest","haptic-feedback","haptics","ios"],"created_at":"2024-10-11T05:44:12.873Z","updated_at":"2024-12-20T16:53:15.309Z","avatar_url":"https://github.com/nohli.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# haptic_feedback\n\nA haptic feedback plugin for both iOS and Android.\n\nWhile it utilizes [standard iOS haptics](https://developer.apple.com/design/human-interface-guidelines/playing-haptics#iOS), it aims to emulate these same haptic patterns on Android for a consistent experience across platforms.\n\nFor more information on using the package in your Flutter app, you can read the article [Using haptic feedback to make your Flutter app more interactive](https://fluttercraftedbetter.com/posts/using-haptic-feedback-to-make-your-flutter-app-more-interactive) by Kamran. He provides detailed explanations on haptic feedback and when to use each type.\n\n## Getting Started\n\n### 1. Add the dependency\n\n```shell\nflutter pub add haptic_feedback\n```\n\n### 2. Use the plugin\n\n```dart\nfinal canVibrate = await Haptics.canVibrate();\n\nawait Haptics.vibrate(HapticsType.success);\nawait Haptics.vibrate(HapticsType.warning);\nawait Haptics.vibrate(HapticsType.error);\n\nawait Haptics.vibrate(HapticsType.light);\nawait Haptics.vibrate(HapticsType.medium);\nawait Haptics.vibrate(HapticsType.heavy);\n\nawait Haptics.vibrate(HapticsType.rigid);\nawait Haptics.vibrate(HapticsType.soft);\n\nawait Haptics.vibrate(HapticsType.selection);\n```\n\n## Automatic Permissions Inclusion\n\n### Android VIBRATE Permission\n\nWhen you integrate the `haptic_feedback` plugin into your Flutter project, it will automatically include the necessary `VIBRATE` permission in the final merged `AndroidManifest.xml` of your app. This is due to the permission being declared in the plugin's manifest.\n\n#### What this means for you:\n\n- **No Manual Action Required**: You don't have to add the `\u003cuses-permission android:name=\"android.permission.VIBRATE\"/\u003e` permission to your app's `AndroidManifest.xml` manually. It will be automatically merged when building the app.\n\n- **Transparency**: By using the `haptic_feedback` plugin, your app will request the `VIBRATE` permission. Ensure that you are aware of all permissions your app requires, especially if you publish it on app stores. Some users may be sensitive to app permissions, even if they don't require explicit consent.\n\n- **Permission Overview**: To review all permissions that your app requests due to plugins and your own declarations, inspect the [final merged](https://stackoverflow.com/questions/74025731/where-is-the-merged-manifest-in-flutter-project) `AndroidManifest.xml` after a build. This will provide a comprehensive view of all permissions and other manifest entries.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnohli%2Fhaptic_feedback","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnohli%2Fhaptic_feedback","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnohli%2Fhaptic_feedback/lists"}