Add the public feedback board to a mobile app

Learn how to quickly get started with integrating the public board into your mobile app.

A simple POST request

Once you have set up a product, its public feedback board will be available on FeatureCat with your chosen subdomain. The next step is to integrate the public board into your app. All that’s required is to add a simple web view (such as WKWebView) to your app and configure it with the following POST request:

  1. Set the URL to your public board to
  2. Set the request method to POST
  3. Get the token from your product settings and set it as Bearer $token for the HTTP Header Field ‘Authorization’

What’s happening here is that your app’s users are getting signed into FeatureCat. That way they’ll have a consistent experience and their previous votes are always displayed, and you have the option to segment user’s votes by their additional data. So the only thing left now is to configure your user object and attach it to the request’s body as a JSON and setting the HTTP Content-Type to application/json.

There is an exemplary integration in Swift for iOS on Github that should make it even easier for you. Other examples (e.g. Android in Kotlin) will follow in the future - let me know what you need.

User’s data and their privacy

You are in complete control of the amount of user data and level of detail you send along to FeatureCat. In respecting your users’ privacy, please do keep in mind that less is often more and focus on the type of data that’ll let you easily segment their votes and submissions.

Revenue (is the user paying), app version and how long they have been using your app are great indicators, whereas personally identifiable information such as name and email address (if your app even captures these) should only be submitted if you are really sure you’ll need it.

Please do also keep in mind that depending on your local privacy legislation and that of your users you may have to inform them if you submit personally identifiable information to third parties (e.g. FeatureCat) and must follow requests for deletion of their data in every place it is stored (e.g. FeatureCat as well). So ideally personally identifiable information is never transmitted.

What information can be attached to the user?

So what kind of information can you attach? Well, everything really (within reason). FeatureCat offers a range of attributes you can assign directly to users and allows you to easily sort and filter users, and also attach custom data in JSON format for the user_properties key.

The only thing that is required is a user_id in the format of a UUID (RFC 4122), which is used to uniquely identify the user in FeatureCat and showing them their public board with their votes. Ideally (for the best user privacy and anonymity) this UUID is created and cached by your app locally on device and used for nothing else.

  • user_id: UUID (RFC 4122), which uniquely identifies the user in FeatureCat (required)

  • name: String up to 100 characters (optional and only if you really need it)

  • email: String up to 100 characters (optional and only if you really need it)

  • revenue: Floating point number (optional)

  • app_version: String up to 100 characters (optional)

  • region: String up to 100 characters (optional)

  • user_since: ISO 8601 timestamp as string (optional)

  • user_properties: JSON String up to 2000 characters (optional)

See an example JSON body right here:

    "user_id": "88b1d993-99d5-45b2-a98f-64fd4d1bf7e5",
    "revenue": 133.4,
    "name": "Jane Doe",
    "email": "[email protected]",
    "app_version": "2021.5",
    "region": "Portugal",
    "user_since": "2020-10-15T00:05:32.000Z",
    "user_properties": {
        "purchases": [
            "Pro Lifetime",

Set it up in the simulator or on a test device, navigate to where you added the webview, and give it a try. If it’s successful, you can vote on features and submit new ideas in the app, and you’ll immediately see the new user in FeatureCat.

And now you’re off to the races.

Next article: Add the public feedback board to a web app

Was this helpful?