SurveySparrow’s Mobile SDK lets you embed your surveys in your native Android apps. With today's mobile-driven population, gauging your customers for feedback from your mobile application is a sure fire way to increase survey response rates, and gain the insights you need.
For instance, let's say you own an app for film streaming, and you want to provide a more personalized experience and viewing recommendations to your viewers. To understand your viewers' likes and dislikes, you can ask them to rate a film/documentary after they have finished watching it. By doing so, you can understand each viewer's preferences and interests, which can further help you in providing personalized film recommendations.
By using SurveySparrow’s Mobile SDK, you can trigger a survey in your app using just a few lines of code, and analyse all the results in SurveySparrow's reporting module.
Let’s see how it works:
1. Create a film review survey and include a rating question. Navigate to share.
2. Select Mobile SDK from the list of sharing channels.
3. Copy the token.
Now, let’s move on to the coding part:
Mobile SDK - Android Version
Add SurveySparrow’s Android SDK to your app
Add it in your root build.gradle at the end of repositories:
allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
Add the following line to your app modules build.gradle file inside dependencies:
implementation 'com.github.surveysparrow:surveysparrow-android-sdk:0.4.0'
Add permissions
The SDK uses the internet to fetch surveys and submit responses to SurveySparrow. Add internet permissions in your AndroidManifest.xmlfile.
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Create and show a survey(using Kotlin)
You can trigger a survey anywhere from your application at any time.
Here’s how:
1. Create a survey.
val survey = SsSurvey("example.com(your company domain)", "sdk-token")
2. Configure the SurveySparrow object.
val surveySparrow = SurveySparrow(this, survey)
3. Start the movie review survey.
surveySparrow.startSurveyForResult(RATE_MOVIE_REQUEST)
RATE_MOVIE_REQUEST is an integer constant that is passed to identify the request. The ‘startSurveyForResult’ function triggers an inbuilt ‘startActivityResult’ and it can be called multiple times so that the constant can be used to identify the result in the ‘onActivityResult’ handler.
4. Handle survey responses
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if(requestCode == RATE_MOVIE_REQUEST) { if(resultCode == Activity.RESULT_OK) { // Get the survey response val response = SurveySparrow.toJSON(data?.data.toString()) val responseData = response.getJSONArray("response") val rating = responseData.getJSONObject(0).getInt("answer") // Show a recommendation page if the user give 4+ rating if(rating >= 4) { startActivity(Intent(this, RecommendationsActivity::class.java)) } else { finish() } } else { Log.v(LOG_TAG, "Review survey not completed!") } } }
This code block will be executed once the survey has been submitted or left incomplete. Once the survey is completed, and the rating given is 4 and above, respondents will be directed to a recommendations page. If the rating given is below 4, respondents will be redirected to the home page of the app.
If a respondent leaves the survey incomplete, a ‘Review survey not completed!’ message will be displayed on the console.
Note:The developer can parse the responses and customize the behaviour however they want.
Mobile SDK - iOS Version
SurveySparrow iOS SDK enables you to collect feedback directly from your mobile app. Embed the Classic, Chat & NPS surveys in your iOS application seamlessly with just a few lines of code.
Add SurveySparrow’s iOS SDK to your app
Add SurveySparrowSdk Framework to your project either of two ways.
- Using CocoaPods
- Directly import SurveySparrowSdk without CocoaPods
Using CocoaPods
Add the following line to your Podfile file under target
pod 'SurveySparrowSdk', :git => 'https://github.com/surveysparrow/surveysparrow-ios-sdk.git', :tag => '0.2.0'
Importing SurveySparrowSdk directly without using CocoaPods
Add SurveySparrowSdk.xcodeproj or SurveySparrowSdk.framework to your project.
Creating and showing a survey
You can trigger a survey anywhere from your iOS application at any time.
Here's how:
1. Create a survey
Import the framework
import: SurveySparrowSdk
Create a SsSurveyViewController
let ssSurveyViewController = SsSurveyViewController()
2. Configure the SurveySparrow object
Configure a SsSurveyViewController domain and token
Use the created SsSurveyViewController and set domain and token
ssSurveyViewController.domain = "<account-domain>" ssSurveyViewController.token = "<sdk-token>"
3. Start the survey
Present the SsSurveyViewController
present(ssSurveyViewController, animated: true, completion: nil)
4. Handle the survey responses
Implement the SsSurveyDelegate protocol to handle survey responses.
class ViewController: UIViewController, SsSurveyDelegate { //... func handleSurveyResponse(response: [String : AnyObject]) { // Handle response here print(response) } //... }
Also set surveyDelegate property of the SsSurveyViewController object to self
ssSurveyViewController.surveyDelegate = self
Enhancements
Passing data
To offer more personalization, the movie name can be passed as data from your app to your survey by using Custom Variables.
Here’s how:
1. Click on the Global Variables icon on the left-sidebar of your survey, and create a variable called ‘Movie’.
2. Use this variable in your rating question by clicking the dollar sign($) next to the question.
3. Now, use the addCustomParam method in your survey object to share values from your app to the survey.
For Android
survey.addCustomParam("movieName", "Sparrow Life")
For iOS
Passing custom variables to the survey
Add custom params to a SsSurveyViewController
Use the created SsSurveyViewController and set params
var params = [String: String]() params["movieName"] = "Sparrow Life"; ssSurveyViewController.params = params;
Styling
You can style your survey to match the theme of your app by using Custom CSS. Paste the following code in the Advanced Editor. This will hide the bottom navigator, progress button, and password warning message in the survey.
.ss_classic_footer_right_content_wrap { visibility: hidden; } .ss_cl_survey_submit_resp > p { visibility: hidden; } .ss-progress-container--new { visibility: hidden; }
You can further customize your survey by removing the SurveySparrow branding and by adding your custom logo.
Other configurations
If you are planning to collect multiple reviews from the same viewer for different movies in your app, you can do so by enabling the ‘Allow multiple submissions per user’ option under Survey Settings (Go to Config > General Settings).
You can find the full code of the Movie App here. For the full SDK documentation, please visit https://github.com/surveysparrow/surveysparrow-android-sdk
For iOS SDK documentation, please visit https://github.com/surveysparrow/surveysparrow-ios-sdk
Hope it helps you! Please reach out to us if you have any further questions. We are just a chat away!
Comments
0 comments
Please sign in to leave a comment.