Feedback widgets on mobile: Doorbell's Android & iOS SDKs

Feedback widgets on mobile: Doorbell's Android & iOS SDKs

If you're building a mobile app, gathering automated user feedback is important due to the sheer user volume. It’s how you figure out what’s working, what’s broken, and what your users secretly wish your app could do. But here’s the thing: you don’t want to interrupt users with long surveys or send them annoying emails. You need something that fits into your app's workflow, without disrupting the user experience.

Doorbell allows you to integrate feedback widgets to your app using the iOS and Android SDKs. This article aims to summarize these capabilities for both developers and product teams looking to anticipate tradeoffs and make decisions on what feedback widgets to implement. Whether you’re looking for simple NPS surveys or complex, event-driven feedback forms, we’ve got you covered.

Below, we'll cover:

  • Why not build your own feedback widget end to end?
  • What use cases are suited for mobile feedback buttons and NPS surveys?
  • Examples of copy/survey types to use for inspiration
  • The basics about the Doorbell Android and iOS SDKs

Build or buy: why use a feedback widget SDK?

Mobile survey and feedback widget SDKs (software development kits) help you integrate buttons to your app without having to code all the additional logic of collecting, managing and analyzing feedback. These appliances let you embed surveys directly into your app so you can ask for feedback at the perfect moment—right when a user finishes a task or just before they close your app. SDKs come with pre-built templates, easy customization options, and analytics, making them a no-brainer for developers and product teams alike.

Use case ideas: mobile app feedback prompts

While figuring out how and when to use a feedback or NPS widget in your mobile app, we thought it'd be useful to list some common cases, to help you assess where this is most needed.

  • Under in-app blog or help articles, to let users vote on whether they were useful
  • At the end of a specific flow, like a booking or overall user journey, to get input on the end to end flow.
  • In the home or settings menu, to help users contact you or send reports
  • After some time using the app, to get feedback from engaged users and before asking for an app store review – filter happy and angry clients.
  • Before submitting a support ticket, to allow collecting more detailed info.
  • In specific geographies or app/content localization, to crowdsource improvements in all languages.
  • After rolling out a new feature, prompt users for feedback specifically about that feature. This helps you gauge if the feature is useful, easy to understand, or if there are any issues early on.
  • If you release a beta version of your app, allow beta testers to leave feedback directly in-app, focusing on the performance of beta features or overall app stability.
  • If you're running A/B tests on certain features or UI elements, prompt users in different groups for feedback. This can help you understand user preferences beyond just the performance metrics.
  • When an error occurs or if the app crashes, use the SDK to prompt users to provide details about what happened. Combine this with automatic crash reporting for deeper insight into the issue.
  • After a major redesign or UI change, prompt users to share their opinions on the new look and feel. This can help avoid alienating users who might be resistant to change.

Micro-copy ideas: the prompt matters!

When adding feedback widgets to your app, you naturally operate on limited space and will need to select the micro-copy or prompt to suggest that the user leaves a note. Not inspired? We've compiled some popular ones below:

  • "How likely are you to recommend us to a friend?" - most often used in NPS Surveys. Make sure the app is something to talk about to a friend, e.g. a game is good but it's probably not suited for business or personal/private apps.
  • "Did you find this information helpful?" or "Was this article helpful?" - often used next to thumbs up/thumbs down survey, this is best implemented after an article or guide.
  • "What could we do better? - a general, open question that orients the user to suggest improvements.
  • "What did you think of [feature]?" - something to leverage at the end of a specific flow or in a new release, while making sure the user knows what you are talking about.
  • "How did we do today?" - best used in a service context, when the app or a human provides some assistance (i.e. support, ticket booking, ride sharing...).
  • "Rate your experience with us!" - a general prompt to provide feedback on both the app and related services.
  • "We value your opinion! Care to share your thoughts?" or "We’re always looking to improve. What’s on your mind?" - this is often used to suggest feature improvements, while not admitting that the service is flawed as much as when you ask "How could we do better?".

Doorbell iOS SDK

The Doorbell iOS SDK lets you integrate in-app feedback into your app. It's compatible with iOS 9 and newer and can be added via CocoaPods or Swift Package Manager (more on that below).

Once integrated, you can embed a customizable feedback dialog into your app. Key options include allowing users to submit a screenshot, email, or even a Net Promoter Score (NPS) rating alongside their feedback. You can also pre-fill user information like email and name, add tags, and include custom properties for better context.

Here’s what you should keep in mind:

  • You can trigger feedback collection via a UI button, or use a shake gesture to bring up the feedback dialog.
  • The SDK also supports a custom form submission if you prefer to collect feedback through your own interface.

At doorbell, our goal is to offer options for app developers looking for a simple, configurable solution to gather user feedback without disrupting the user experience.

Integrating Doorbell iOS SDK: CocoaPods vs. Swift Package Manager

To add the Doorbell iOS SDK to your app, you have two main options: CocoaPods and Swift Package Manager. Each has its advantages, so here's what you need to know:

CocoaPods

CocoaPods is one of the most popular dependency managers for iOS. It helps streamline the process of adding third-party libraries like Doorbell to your project.

  • How to install: check out our documentation for more details on this.
  • Why use CocoaPods?
    • If you already use CocoaPods to manage dependencies, it's a natural choice.
    • It’s widely supported and ensures that all dependencies are automatically updated and managed, saving you from manual work.
  • Keep in mind: you’ll need to remember to run pod install every time you update or add dependencies. It also generates a Pods directory, which you’ll want to make sure is tracked or properly configured in your version control system (e.g., .gitignore).

Swift Package Manager (SPM)

Swift Package Manager is built into Xcode, making it a lightweight and convenient way to add dependencies, especially for Swift projects.

  • How to install: check out our documentation for more details there.
  • Why use Swift Package Manager?
    • Integrated directly into Xcode, so there’s no need for a separate tool or additional configuration.
    • It’s simpler to manage for projects that are exclusively written in Swift.
    • It allows more control over the exact versions of the SDK you are using.
  • Keep in Mind: SPM is generally a better choice for Swift projects, but support for Objective-C-based libraries may not always be as smooth as CocoaPods. Additionally, if you’re managing complex dependencies, CocoaPods still has broader support and a larger ecosystem.

Summary of key differences

  • CocoaPods: Offers broad compatibility, easier dependency management, but requires an extra step (pod install) and adds a Pods directory to your project.
  • Swift Package Manager: More streamlined for Swift projects, directly integrated into Xcode, but may lack some of the dependency complexity handling that CocoaPods offers.

If your project already uses one of these tools, it’s easiest to stick with it. Both methods are well-supported by the Doorbell SDK and easy to implement.

Doorbell Android SDK Overview

The Doorbell Android SDK lets you easily integrate in-app feedback collection within your Android app. It requires a minimum SDK version of 16 and can be installed via Maven Central. The SDK comes with a range of features to capture user feedback seamlessly, from customizable feedback dialogs to advanced options like attaching screenshots or Net Promoter Score (NPS) ratings.

Installing Doorbell via Maven

Maven Central is a popular repository that hosts Java and Android libraries, making it simple to add dependencies to your project. To integrate the Doorbell SDK, you just need to add the following line to your project’s build.gradle file under dependencies – take a look at our full documentation here.

  • About Maven Central: Maven is a build automation tool used primarily for Java projects. Maven Central is its central repository where you can find libraries like the Doorbell SDK. It helps developers manage project dependencies by automatically downloading and linking the necessary libraries, so you don't have to worry about manually handling them.

Using AndroidX

The Doorbell SDK requires your project to be compatible with AndroidX, a newer set of Android support libraries that replaces the older Android Support Libraries. If your project hasn’t been migrated to AndroidX, you’ll need to enable it in your gradle.properties file – more on that in the docs.

AndroidX ensures that new features and support continue in the Android ecosystem while maintaining backward compatibility with older Android versions.

Core Features & Methods

Once you’ve added the SDK to your project, using it is straightforward. Below are some key features and methods available:

  • Set Email and User Info: Prepopulate fields like the user’s email or name to make submitting feedback more convenient
  • Add Custom Properties: You can attach custom properties like user information, session data, or app-specific metadata
  • Capture Screenshots: Automatically capture the current screen when users submit feedback, useful for bug reports.
  • NPS Ratings: Enable or disable Net Promoter Score (NPS) ratings, which is a useful metric for gauging user satisfaction.
  • Custom Dialog Options: Modify the feedback dialog’s appearance and behavior, such as setting a title, hiding fields, or adding tags.
  • Shake Gesture: You can configure Doorbell to trigger when the user shakes their device. This is especially useful for capturing feedback without needing an explicit button or UI element.
  • Material Components: If your app uses Material Design, Doorbell supports integration with MaterialAlertDialogBuilder for a consistent look with the rest of your app.

The Doorbell Android SDK offers flexibility and ease-of-use for developers looking to integrate in-app feedback questionnaires, with helpful tools like custom properties, NPS ratings, and even advanced gestures like shake-to-send feedback. Its integration with Maven Central and AndroidX ensures compatibility and smooth dependency management in modern Android projects.

Read more