In-app Feedback for Android apps

In-app Feedback for Android apps

In-app feedback enables you to ask for feedback from your users. App users can then attach and annotate images/screenshots, include logs and diagnostics, or report a bug while sharing a feedback. It comes with an in-built annotator that helps app users mask any sensitive information, scribble on the screenshots, or add arrows to pinpoint the areas with issues.

By default, feedback uses WorkManager to sync the feedback with the Apptics server. WorkManager initialization is taken care of by the jetpack library automatically. In scenarios, where the WorkManager initialization fails, the Foreground service is used as an alternate.

Add the in-app feedback SDK to your app

  1. Before your begin, make sure that Apptics is integrated into your project by following the Integration Guide.
  2. Declaring in-app feedback dependency using Apptics BoM.
  1. dependencies {
      // ...
    
      // Apptics BoM, latest version is mentioned in the integration guide.
      implementation platform('com.zoho.apptics:apptics-bom:[latest-version]')
      
      // Since BoM version is specified, no need to explicitly specify the dependency version.
      implementation 'com.zoho.apptics:apptics-feedback'
    
    }
  1. If you do not use Apptics BoM you can directly declare the in-app feedback dependency with its version.
  1. dependencies {
       // Have to explicitly mention the version, if you are not using BoM.
       // latest version is mentioned in the integration guide.
      implementation 'com.zoho.apptics:apptics-feedback:[latest-version]'
    }
Note: It is recommend to use Apptics BoM to avoid unnecessary compatibility issues.
  1. Initialize in-app feedback SDK in application onCreate() method.
  1. Apptics.init(this)

Feedback notification to users

The app users (above Android 13) have to explicitly enable the notifications in settings. If the notifications are disabled, the users are not shown any notifications for feedback. This is available only when you use the Foreground service.

There are two types of notifications that are displayed in the notification drawer.
  1. Success - `Feedback sent successfully` is shown in the notification drawer if the feedback was sent without any issues.
  2. Failure - 'Feedback sending failed' and `Retry` button is displayed in the notification drawer. If the user performs the swipe gesture and cancels the failure notification (ideal android behaviour), sending feedback will not be retried.
  3. A default feedback icon option is provided. Unless you change it, the default option will be used.

Shake for feedback

The Feedback/report bug prompt will be shown when the user shakes the device with the app in the foreground.
  1. Use the below method to turn off shake for feedback.
  1. AppticsFeedback.disableShakeForFeedback()
  1. Use the below method to turn on shake for feedback.
  1. AppticsFeedback.enableShakeForFeedback()
  1. Use the below method to know the current state of shake for feedback.
  1. AppticsFeedback.isShakeForFeedbackEnabled()
You can optimize the shake detection parameters like the number of shake counts before showing the prompt and shake velocity. Use the below method to optimize shake detection parameters.
  1. AppticsFeedback.setShakeDetectionParams(2f, 3)
  1. Use the below callback to show your custom prompt on detecting shake.
  1. AppticsFeedback.onShakeCallback = { activity ->  
                // build and show your custom shake prompt
            }

Present feedback screen

You can also explicitly present the feedback screen to users on-demand. Use the below method to present the feedback screen.
  1. AppticsFeedback.openFeedback(hostActivity)

Present report bug screen

Use the below method to automatically capture the screenshot and present annotation activity for reporting bug.
  1. AppticsFeedback.reportBug(hostActivity)
  1. An app user can share the feedback/report a bug with their email id or can share it anonymously. If the user opts to share the feedback/report a bug anonymously then an alert is displayed on the screen. The alert will inform the user that if the feedback/report a bug is shared anonymously, app developers will not be able to contact them with solutions to the raised issues.
  2. You need to disable showing the alert on choosing anonymous explicitly. By default, it is enabled.
  3. The feedback screen/report a bug screen can be used both in portrait and landscape mode.
  4. Set the below method to true to enable an alert message when a user is in anonymous mode. If you set it to false user won't be notified with the anonymous alert message.
  1. AppticsFeedback.enableAnonymousUserAlert()

Disable anonymous feedback reports

  1. Use the below method to hide the anonymous option in the feedback screen. This will force the user to use the id while sharing the feedback.
  1. AppticsFeedback.isAnonymousOptionNeeded = false

Headless feedback

Headless feedback allows you to use your own custom interface while using Apptics' feedback toolkit. There are two methods that can be used for sending headless feedback.

sendfeedback :
  1. This is a fire-and-forget method to send feedback. It uses WorkManager to sync the feedback with the Apptics server. This method has an inbuilt retry mechanism.
  2. This works in tandem with the user consent preference set in the app at the time of calling this method.
  3. A user can attach up to five images while sharing the feedback. The images can be attached only from the app's cache directory.
Note: If WorkManager is disabled, the above method will fail and the feedback won't be sent.
  1. AppticsFeedback.sendFeedback(
        type = AppticsFeedback.Type.FEEDBACK,
        feedbackMessage = "Feedback Message",
        includeDiagnostics = true,
        includeLogs = true
    )
sendFeedbackInstantlyWithoutRetries :
  1. This method will return the feedback status. It should be called from the workerThread.
Note: This method will fail if it is called via the UI Thread and the app will crash.
  1. This works in tandem with the user consent preference set in the app at the time of calling this method.
  2. A user can attach up to five images while sharing the feedback. The images can be attached only from the app's cache directory.
Note: if forceToAnonymous is set as true, the feedback will be shared anonymously and will override the user consent preference of the app.
  1. val feedbackStatus = AppticsFeedback.sendFeedbackInstantlyWithoutRetries(
        type = AppticsFeedback.Type.FEEDBACK,
        feedbackMessage = "Feedback Message",
        includeDiagnostics = true,
        includeLogs = true,
        forceToAnonymous = false
    )

Logs

Apptics' Feedback toolkit provides the necessary APIs to add logs and diagnostic info detail from anywhere in the app. The files containing these data can be sent by the user while sending feedback.
  1. Use the below method to write a log.
  1. AppticsLogs.writeLog("Some long", Log.DEBUG)
    
    /* logtype is a predefined constant in android.Utils.Log class
     * Log.VERBOSE
     * Log.INFO
     * Log.DEBUG
     * Log.WARN
     */
  1. Use the below method to attach a log file.
  1. AppticsLogs.addLogFile(file)
Note: If both addLogFile and writeLogs are set by the developer, priority is given to the addlog file. Only one logfile is allowed per feedback and it cannot exceed 1MB in size.
  1. A diagnostic info file is a set of key-value pairs, where each pair can be grouped under the given heading. To add diagnostic info, follow the below.
  1. AppticsLogs.addDiagnosticsInfo("HEADING", "key", "value")

Convenience APIs

Sometimes, it is necessary for your app to perform certain activities when your app opens an external app. In the feedback module, there are 2 points where an external app is opened - on clicking the attachment icon on the feedback page, and on clicking share in the screenshot to feedback prompt.
  1. To perform this activity, override the following callback.
  1. AppticsFeedback.onExternalAppOpened = { isOpen ->
                //isOpen is true while external app is about to open
                //isOpen is false while returning from an external app
            }

    Zoho CRM Training Programs

    Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.

    Zoho CRM Training
      Redefine the way you work
      with Zoho Workplace

        Zoho DataPrep Personalized Demo

        If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.

        Zoho CRM Training

          Create, share, and deliver

          beautiful slides from anywhere.

          Get Started Now


            Zoho Sign now offers specialized one-on-one training for both administrators and developers.

            BOOK A SESSION








                                    You are currently viewing the help pages of Qntrl’s earlier version. Click here to view our latest version—Qntrl 3.0's help articles.




                                        Manage your brands on social media

                                          Zoho Desk Resources

                                          • Desk Community Learning Series


                                          • Digest


                                          • Functions


                                          • Meetups


                                          • Kbase


                                          • Resources


                                          • Glossary


                                          • Desk Marketplace


                                          • MVP Corner


                                          • Word of the Day


                                            Zoho Marketing Automation

                                              Zoho Sheet Resources

                                               

                                                  Zoho Forms Resources


                                                    Secure your business
                                                    communication with Zoho Mail


                                                    Mail on the move with
                                                    Zoho Mail mobile application

                                                      Stay on top of your schedule
                                                      at all times


                                                      Carry your calendar with you
                                                      Anytime, anywhere




                                                            Zoho Sign Resources

                                                              Sign, Paperless!

                                                              Sign and send business documents on the go!

                                                              Get Started Now




                                                                      Zoho TeamInbox Resources



                                                                              Zoho DataPrep Resources



                                                                                Zoho DataPrep Demo

                                                                                Get a personalized demo or POC

                                                                                REGISTER NOW


                                                                                  Design. Discuss. Deliver.

                                                                                  Create visually engaging stories with Zoho Show.

                                                                                  Get Started Now









                                                                                                      • Related Articles

                                                                                                      • In-app Feedback for Apple apps

                                                                                                        In-app feedback allows you to include feedback, attach and annotate images/screenshots, include logs and diagnostics, and report a bug. Before you start integrating In-app Feedback, make sure that you have already integrated Apptics with your app. ...
                                                                                                      • Integrate Zoho Apptics with an Android apps

                                                                                                        Prerequisites Android Studio Artic Fox and above. Target API level 19 (kitkat) or later. Android Gradle plugin at least 7.0.0-beta04. DataBinding should be enabled in your project. Use Google's Androidx library instead of standard or support library. ...
                                                                                                      • In-app Ratings for Android apps

                                                                                                        In-app Ratings module helps improve app rating by allowing you to customize the appropriate time for prompting users to rate your application. Refer to the user guide to configure in-app ratings in the Apptics web console. Add the in-app ratings SDK ...
                                                                                                      • In-app Updates for Android apps

                                                                                                        In-app update module is used to show new version available alerts in android as per the configuration done in the Apptics web console. Refer to the user guide to do the configuration in the web console. Add the in-app update SDK to your app Before ...
                                                                                                      • In-app Events for Android apps

                                                                                                        Make sure that you have integrated Apptics in your project, refer to the integration guide. Add the analytics SDK to your app Declare analytics dependency using Apptics BoM. dependencies { // ... // Apptics BoM, latest version is mentioned in the ...
                                                                                                        Wherever you are is as good as
                                                                                                        your workplace

                                                                                                          Resources

                                                                                                          Videos

                                                                                                          Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                                                                                          eBooks

                                                                                                          Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                                                                                          Webinars

                                                                                                          Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                                                                                          CRM Tips

                                                                                                          Make the most of Zoho CRM with these useful tips.



                                                                                                            Zoho Show Resources