In this article
Similar to a Digital Feedback program for your web site, the Mobile SDK uses a Digital Feedback program to provide a way to configure when a survey should be presented within your mobile application. By leveraging Digital Feedback, it is then possible to change the triggering configuration and also the survey at any time without requiring the mobile app to be updated!
Example experiences that are possible using a Digital Feedback program:
A specific app event or transaction.
A series of events, time spent on a view, or even targeted users only.
Active until X surveys are completed, or X surveys completed per hour, day, week or month.
Short lived feedback such as new app feature or A/B testing.
Driving app store reviews only when survey feedback is positive.
Or, simply an always available feedback button.
App Event Notifications
The SDK needs to know what to monitor about your application. At specific event locations within your application, it is necessary to add event notifications that the SDK will receive. For example, if the user completed an action that could be identified as "DepositCompleted" the code required would be:
// Event notification using Kotlin
TriggerSDK.notifyEvent("DepositCompleted")Triggering Surveys
The SDK downloads the program including all scenario scripts and automatically begins monitoring for your app events.
To ensure that the target surveys are available, when the scenarios are loaded into the SDK, initialization steps such as downloading a survey are added. For example, the following is a sample scenario script as part of a Digital Feedback program:
// To ensure the survey is downloaded and available, add the following to your scenario
var ctx = sdk().downloadSurvey("p123456789");
ctx.events.on("DepositCompleted", function(data) {
ctx.startSurvey("p123456789", {});
});Alternatively, it is easy to launch an online web survey within your app:
var ctx = sdk();
ctx.events.on("onFeedbackButton", function(data) {
ctx.startWebSurvey("p123456789", {});
});Updating Surveys and Programs
Digital Feedback program scenario scripts and surveys are downloaded to the SDK to be available without depending on an active internet connection. Because these resources are available offline, it is necessary to determine when it makes sense to check for updates. A common recommendation is to add this to your app foreground event. Kotlin Example:
val serverId = ConfirmitServer.UK.serverId
val programKey = "<Program Key>"
val result = TriggerSDK.downloadAsync(serverId, programKey).await()The program download is optimized and will only download the program again if changes are detected between the app and server content. If no changes are detected, only the program scenario completion counters are updated. The payload for this is typically very small, e.g.
{ scenario1: 30, scenario2: 50 }So because of this optimization, it should generally not be a concern to make this request as frequently as you feel it is necessary to check for program updates and scenario completion counters.
Journey Tracking
Use Journey Tracking to trigger interactions based on a series of events rather than a single event.
Start by adding the JourneyLog event in your app. Typically this is done where your app logs all app events.
Then, within your Digital Feedback Program Scenario script, define one or more user journeys that you would like to track. For example, a “booking” journey might be comprised of “BookingStarted”, “Scheduling”, “Review”, etc.
It is then possible to trigger a survey based on the outcome of a journey, either when a user completes the journey or abandons. Or, you may want to simply track this information for reporting and analysis.
Recording Journey Tracking Events within SmartHub
When a journey is completed, it is possible to store the journey details within a SmartHub Custom Data table.
You will need to create the Custom Data Table before you can begin sending journey events to SmartHub.
The suggested table structure for storing Journey events is shown in the following figure.
Any additional fields can also be included should you have additional information you would like to store.
To create this table, simply create an Excel document with the following columns and sample data:
Testing your Program
It is possible to test your program without first having the SDK implemented in your app using the Digital Feedback Mobile SDK test app available from Google Play or Apple App Store.
To be able to connect to your company, you will need to provide the following information:
Host: the Forsta SaaS site your company is a part of.
Client ID and Client Secret: this information is provided by Forsta Support once you have purchased Digital Feedback Mobile SDK.