GetFeedback

Embedding a Survey in an App

With app.getfeedback.com, it’s easy to embed a GetFeedback survey inside your iOS or Android mobile app that feels seamless. Design your survey theme to match the fonts, colors, and logo of your app. Then, you can send users from your app to a browser view that loads a GetFeedback survey using a “Let us know” button in your app. When the survey is complete, GetFeedback will pass focus back to your app.

Use GetFeedback’s theme options to make the colors, fonts, logos, and imagery of your survey match your app styling and branding. Learn more about editing your survey theme

Use an event in your app (often a button-tap) to launch a webview of your GetFeedback survey URL:
https://www.getfeedback.com/r/xxxxxxxx

Add merge fields to the survey URL to pass context from the app to the survey, for attribution, personalization, or to drive survey branching logic, e.g.:
https://www.getfeedback.com/r/xxxxxxxx?UserID=123456&Name=Frank&productInterest=Jacket

These merge fields can be static - passing in the same values each time to be tracked along with the survey. Or more dynamic - using a bit of extra code to dynamically fill in those fields with a variable.

The GetFeedback webview within the app will send two events to third parties, which your app can use to handle what happens after the response is complete:

  • requestRedirect - For redirecting to a URL at the end of the survey, if you’ve designated one (or one of several redirect URLs, using our Logic Builder) for your survey’s Exit Page. This allows your app to redirect to a specific page based on the survey selections.
  • submittedResponse - Notifies your app that the survey is complete. This allows your app to close the survey webview, and bring the focus back to the app.

Messages are sent via the standard message handler object that's injected by WKWebView, window.webkit.messageHandlers.callback

Web views need to inject a window.messageHandler object with a postMessage function.

window.messageHandler = { postMessage: function(message) { doSomethingInMyApp(message); } }