You can post feedback messages and screenshots to Slack from your iOS app!
It is very useful for internal test!
Introducing this SDK, a floating icon of feedback is displayed. Tapping it, a feedback dialog is displayed.
- Show feedback button
- Two fingers long press to show feedback dialog
- Take a screenshot & Record screen
- iOS 9+
Swift
github "https://github.com/yahoojapan/AppFeedback-ios"
If you do not want to include SDK framework binaries in your application, please remove it from Copy Frameworks by looking at the configuration for the following.
import Bridging Header
#import <AppFeedback/AppFeedback.h>
Please control so that it applies only to internal distribution so that it will not be effective in production application
First define flags in target configuration
Describe initialization processing of SDK to "Describe SDK initialization process to didFinishLaunchingWithOptionsdidFinishLaunchingWithOptions"
Initialize the SDK when launching the application. Make sure it is enabled only when the flag you set above is defined.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// ……
#if ENABLE_APP_FEEDBACK
AppFeedback.configure(withSlackToken:"<your token>", slackChannel:"<slack channel id>")
#endif
// ……
}
To hide the feedback icon, please support display with gesture.
AppFeedback.readyFeedbackGesture() // Display feedback dialog with two fingers long tap
AppFeedback.readyScreenShot() // Display feedback dialog when shooting screenshot
Write setup_app_feedback_sdk in the fastlane build before build_app. Please specify project, scheme, configuration to use for build.
This action writes the slack api token and channel id to your Info.plist.
setup_app_feedback_sdk(
project: 'MyApp.xcodeproj',
scheme: 'MyApp',
configuration: 'AppFeedback',
slack_api_token: 'your-slack-token', # Preferably configure as ENV['SLACK_API_TOKEN']
slack_channel: 'your-slack-channel-id'
)
build_app(...)
run_tests(...)
The SDK is built in the application for internal distribution built with Screwdriver.
Display a feedback dialog with two finger long press gestures.
Display a feedback dialog when shooting screenshots.
Start screen recording (movie capture).
End screen recording (movie capture).
var isHidden: Bool { get set }
Boolean value as to whether to display the feedback button. Default is true.
*It is always invisible because there is a problem with the display of buttons under iOS 9.
Display the feedback dialog immediately.
Please use this method when displaying feedback dialog by custom gesture etc created by yourself.
func yourLongPressedGesture(sender: UILongPressGestureRecognizer) {
AppFeedback.showFeedbackDialog()
}
Set your slack token and channel.
Set your slack channel. Please set the slack token with fastlane setup_app_feedback_sdk action.
List of feedback categories.
The default is "Bug" "Request" "Question" "Design" "Others".
Slack API URL (default: https://slack.com/api)