# flutter-feedback-plugin **Repository Path**: aicoding123/flutter-feedback-plugin ## Basic Information - **Project Name**: flutter-feedback-plugin - **Description**: https://github.com/nusanet/flutter-feedback-plugin.git - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-30 - **Last Updated**: 2026-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flutter Feedback Plugin Plugin Flutter yang berfungsi untuk mengambil screenshot dari halaman yang sedang aktif. Plugin ini support untuk platform Android & iOS. ## Fitur - [X] Ambil screenshot dari halaman yang sedang aktif. - [X] Support untuk Android & iOS. - [ ] Support untuk Web. - [X] Template halaman form feedback. - [X] Preview foto screenshot. - [X] Editor foto screenshot. Tambah teks dan garis pada foto screenshot. ## Setup ### Android Untuk platform Android plugin ini memerlukan permission `WRITE_EXTERNAL_STORAGE`. Oleh karena itu, kamu perlu tambahkan permission tersebut didalam file **AndroidManifest.xml** seperti berikut. ```xml ``` ### iOS Untuk platform iOS plugin ini memerlukan permission `NSPhotoLibraryUsageDescription`. Oleh karena itu, kamu perlu tambahkan permission tersebut didalam file **Info.plist** seperti berikut. ``` ... NSPhotoLibraryUsageDescription Take pretty screenshots and save it to the PhotoLibrary. ... ``` Dan jangan lupa enable-kan permission photos didalam `Podfile`. ``` target.build_configurations.each do |config| # You can remove unused permissions here # for more infomation: https://github.com/BaseflowIT/flutter-permission-handler/blob/master/permission_handler/ios/Classes/PermissionHandlerEnums.h # e.g. when you don't need camera permission, just add 'PERMISSION_CAMERA=0' config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [ '$(inherited)', ## dart: PermissionGroup.calendar 'PERMISSION_EVENTS=0', ## dart: PermissionGroup.reminders 'PERMISSION_REMINDERS=0', ## dart: PermissionGroup.contacts 'PERMISSION_CONTACTS=0', ## dart: PermissionGroup.camera 'PERMISSION_CAMERA=0', ## dart: PermissionGroup.microphone 'PERMISSION_MICROPHONE=0', ## dart: PermissionGroup.speech 'PERMISSION_SPEECH_RECOGNIZER=0', ## dart: PermissionGroup.photos 'PERMISSION_PHOTOS=1', ## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse] 'PERMISSION_LOCATION=0', ## dart: PermissionGroup.notification 'PERMISSION_NOTIFICATIONS=0', ## dart: PermissionGroup.mediaLibrary 'PERMISSION_MEDIA_LIBRARY=0', ## dart: PermissionGroup.sensors 'PERMISSION_SENSORS=0', ## dart: PermissionGroup.bluetooth 'PERMISSION_BLUETOOTH=0', ## dart: PermissionGroup.appTrackingTransparency 'PERMISSION_APP_TRACKING_TRANSPARENCY=0', ## dart: PermissionGroup.criticalAlerts 'PERMISSION_CRITICAL_ALERTS=0', ] end ``` ## Cara Pakai Untuk menggunakan plugin ini sangatlah mudah. Kamu cukup panggil saja fungsi `takeScreenshot(context)` dan cek nilai return-nya apakah outputnya sukses atau gagal. Contoh lengkapnya bisa kamu lihat di projek example. ```dart final flutterFeedback = FlutterFeedback(); final result = await flutterFeedback.takeScreenshot(context); switch (result!.status) { case Status.success: // Screenshot berhasil disimpan. // Ini contoh jika mau mengarahkan ke halaman preview image hasil screenshot-nya. Navigator.of(context).push( MaterialPageRoute( builder: (BuildContext context) { return PreviewImagePage(File(result.path!)); }, ), ); break; case Status.denied: _showSnackbBar('Permission denied'); break; case Status.restricted: _showSnackbBar('Permission restricted'); break; case Status.permanentlyDenied: _showSnackbBar('Permission denied permanently'); break; case Status.fileNotFound: _showSnackbBar('File screenshot not found'); break; case Status.unknown: _showSnackbBar('Unknown'); break; } ``` ## Demo ![Contoh penggunaan plugin](https://github.com/CoderJava/flutter-feedback-plugin/blob/master/screenshot/plugin_demo.gif)