Skip to main content
Version: Android SDK

Start survey programmatically

How to start a survey programmatically?โ€‹

In most cases, you should let the Screeb targeting engine start the survey. But sometimes, you may want to run a survey on user action.

tip

You can find the SURVEY_ID in the Manual section of the survey editor. You can also find it in the survey editor URL, after the /surveys/ part.

Screeb.startSurvey(
surveyId = "<SURVEY_ID>"
)

Prevent multiple displays?โ€‹

If current user already replied to your survey and you would rather not display it many times, please add the allowMultipleResponses argument:

Screeb.startSurvey(
surveyId = "<SURVEY_ID>",
allowMultipleResponses = false
)

Respect survey status?โ€‹

By default, using manual survey start will ignore the survey status. If you want to respect the survey status, you can add the ignoreSurveyStatus argument and set it to false:

Screeb.startSurvey(
surveyId = "<SURVEY_ID>",
ignoreSurveyStatus = false
)

Contextualize responseโ€‹

The startSurvey command accepts a list of hidden fields. Values passed as parameters will be listed alongside the responses, on the Screeb platform.

Screeb.startSurvey(
surveyId = "<SURVEY_ID>",
hiddenFields = HiddenFields().apply {
this["h1"] = "hidden_field1"
this["h_count"] = 75
}
)

Force languageโ€‹

If you want to force the survey language, you can pass the language parameter: Here is the order of priority for the language: survey.start param > init param > user property > browser language.

Screeb.startSurvey(
surveyId = "<SURVEY_ID>",
language = "en"
)