InvergeDocs

Surveys

In-product surveys with targeting, display rules, event triggers and per-survey analytics.

Build a survey in the console — questions (rating, choice, open text…), who should see it, how it's displayed and what triggers it — and publish it. Nexus decides who is eligible (targeting, sampling, frequency capping); the SDK shows it and sends the answers.

Flutter

await Nexus.init(const NexusConfig(apiKey: 'nxs_live_xxx', surveysEnabled: true));

The overlay mounts itself and shows popover / banner surveys and event-triggered ones automatically (surveyAutoShow). The API, for anything custom:

final surveys = Nexus.instance.surveys;
await surveys.fetch();                  // eligible surveys
surveys.active;  surveys.byId('survey_1');
surveys.show(survey);  surveys.close();
await surveys.respond(survey, {'q1': 9, 'q2': 'Great!'}, completed: true);
surveys.current;                        // ValueNotifier<NexusSurvey?> — what the overlay shows

Custom UI — keep the logic, replace the look:

NexusSurveyOverlay(
  child: child,
  surveyBuilder: (context, controller) => MySurvey(controller),            // whole survey
  questionBuilder: (context, controller, question) => MyQuestion(question), // or per question
);

Headless (web & servers)

Fetch eligible surveys, render them your way, submit answers.

const surveys = await nexus.surveys.fetch({ properties: { plan: 'pro' } });
await nexus.surveys.respond(surveys[0].id, { q1: 9 }, { completed: true });
nexus.surveys.dismiss(surveyId);
  • Send dismissals. They feed frequency capping — skip them and the same survey keeps being offered to someone who already said no.
  • Pass a previous response's id back (response_id / responseId) to append to a partial response instead of creating a new one.

Reference

Flutter · JavaScript · PHP · Python · .NET · REST

On this page