survicate_flutter_sdk 2.1.2 copy "survicate_flutter_sdk: ^2.1.2" to clipboard
survicate_flutter_sdk: ^2.1.2 copied to clipboard

Survicate mobile SDK for Flutter allows you to survey specific groups of your mobile app users to understand their needs, expectations, and objections.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:survicate_flutter_sdk/models/survicate_answer_model.dart';
import 'package:survicate_flutter_sdk/models/user_traits_model.dart';
import 'package:survicate_flutter_sdk/survicate_flutter_sdk.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  SurvicateFlutterSdk survicateFlutterSdk= SurvicateFlutterSdk();
  String? surveyIdDisplayed;
  String? surveyIdAnswered;
  num? questionIdAnswered;
  SurvicateAnswerModel? answer;
  String? surveyIdClosed;
  String? surveyIdCompleted;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
          appBar: AppBar(
            title: const Text('Survicate Flutter SDK example app'),
          ),
          body: SingleChildScrollView(
            padding: EdgeInsets.all(16.0),
            child: Column(
              mainAxisSize: MainAxisSize.max,
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.stretch,
              children: [
                ElevatedButton(
                  onPressed: () {
                    survicateFlutterSdk.invokeEvent('SURVEY');
                  },
                  child: Text('Invoke event SURVEY'),
                ),
                SizedBox(
                  height: 5.0,
                ),
                ElevatedButton(
                  onPressed: () {
                    survicateFlutterSdk.enterScreen('SCREEN');
                  },
                  child: Text('Enter screen SCREEN'),
                ),
                ElevatedButton(
                  onPressed: () {
                    survicateFlutterSdk.leaveScreen('SCREEN');
                  },
                  child: Text('Leave screen SCREEN'),
                ),
                SizedBox(
                  height: 5.0,
                ),
                ElevatedButton(
                  onPressed: () {
                    survicateFlutterSdk.setUserTraits(
                        UserTraitsModel(userId: '1', firstName: 'USER'));
                  },
                  child: Text('Set userId = 1 and first name = USER'),
                ),
                SizedBox(
                  height: 5.0,
                ),
                ElevatedButton(
                  onPressed: () {
                    setState(() {
                      surveyIdDisplayed = null;
                      surveyIdAnswered = null;
                      questionIdAnswered = null;
                      answer = null;
                      surveyIdClosed = null;
                      surveyIdCompleted = null;
                    });
                    survicateFlutterSdk.reset();
                  },
                  child: Text('Reset'),
                ),
                SizedBox(
                  height: 5.0,
                ),
                ElevatedButton(
                  onPressed: () {
                    setState(() {
                      surveyIdDisplayed = null;
                      surveyIdAnswered = null;
                      questionIdAnswered = null;
                      answer = null;
                      surveyIdClosed = null;
                      surveyIdCompleted = null;
                    });
                    survicateFlutterSdk.registerSurveyListeners(
                        callbackSurveyDisplayedListener: (surveyId) {
                      setState(() {
                        surveyIdDisplayed = surveyId;
                      });
                    }, callbackQuestionAnsweredListener:
                            (surveyId, questionId, answer) {
                      setState(() {
                        surveyIdAnswered = surveyId;
                        questionIdAnswered = questionId;
                        this.answer = answer;
                      });
                    }, callbackSurveyClosedListener: (surveyId) {
                      setState(() {
                        surveyIdClosed = surveyId;
                      });
                    }, callbackSurveyCompletedListener: (surveyId) {
                      setState(() {
                        surveyIdCompleted = surveyId;
                      });
                    });
                  },
                  child: Text('Register survey activity listeners'),
                ),
                SizedBox(
                  height: 5.0,
                ),
                ElevatedButton(
                  onPressed: () {
                    setState(() {
                      surveyIdDisplayed = null;
                      surveyIdAnswered = null;
                      questionIdAnswered = null;
                      answer = null;
                      surveyIdClosed = null;
                      surveyIdCompleted = null;
                    });
                    survicateFlutterSdk.unregisterSurveyListeners();
                  },
                  child: Text('Unregister survey activity listeners'),
                ),
                SizedBox(
                  height: 5.0,
                ),
                surveyIdDisplayed != null
                    ? Text('Last survey displayed id = $surveyIdDisplayed')
                    : SizedBox(),
                surveyIdDisplayed != null
                    ? SizedBox(
                        height: 5.0,
                      )
                    : SizedBox(),
                questionIdAnswered != null
                    ? Text(
                        'Last question answered id = $questionIdAnswered from survey id = $surveyIdAnswered, answer type ${answer?.type}')
                    : SizedBox(),
                questionIdAnswered != null
                    ? SizedBox(
                        height: 5.0,
                      )
                    : SizedBox(),
                surveyIdClosed != null
                    ? Text('Last survey closed id = $surveyIdClosed')
                    : SizedBox(),
                surveyIdClosed != null
                    ? SizedBox(
                        height: 5.0,
                      )
                    : SizedBox(),
                surveyIdCompleted != null
                    ? Text('Last survey completed id = $surveyIdCompleted')
                    : SizedBox(),
                surveyIdCompleted != null
                    ? SizedBox(
                        height: 5.0,
                      )
                    : SizedBox(),
              ],
            ),
          )),
    );
  }
}
3
likes
140
pub points
60%
popularity

Publisher

verified publisheroakam.com

Survicate mobile SDK for Flutter allows you to survey specific groups of your mobile app users to understand their needs, expectations, and objections.

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

LGPL-3.0 (LICENSE)

Dependencies

flutter

More

Packages that depend on survicate_flutter_sdk