registerSurveyListeners method

Future<bool?> registerSurveyListeners({
  1. dynamic callbackSurveyDisplayedListener(
    1. String? surveyId
    )?,
  2. dynamic callbackQuestionAnsweredListener(
    1. String? surveyId,
    2. num? questionId,
    3. SurvicateAnswerModel answer
    )?,
  3. dynamic callbackSurveyClosedListener(
    1. String? surveyId
    )?,
  4. dynamic callbackSurveyCompletedListener(
    1. String? surveyId
    )?,
})

Registers Survey activity listeners

callbackSurveyDisplayedListener the listener to be called when a survey gets loaded and appears in user’s interface. callbackQuestionAnsweredListener the listener to be called after a response submitted to each question. callbackSurveyClosedListener the listener to be called after user closes the survey using the close button. callbackSurveyCompletedListener the listener to be called when user responds to their last question and therefore finishes a survey.

Implementation

Future<bool?> registerSurveyListeners(
    {Function(String? surveyId)? callbackSurveyDisplayedListener,
    Function(String? surveyId, num? questionId, SurvicateAnswerModel answer)?
        callbackQuestionAnsweredListener,
    Function(String? surveyId)? callbackSurveyClosedListener,
    Function(String? surveyId)? callbackSurveyCompletedListener}) async {
  if (callbackSurveyDisplayedListener == null ||
      callbackQuestionAnsweredListener == null ||
      callbackSurveyClosedListener == null ||
      callbackSurveyCompletedListener == null) {
    return false;
  }

  if (onSurveyDisplayedListener != null ||
      onQuestionAnsweredListener != null ||
      onSurveyClosedListener != null ||
      onSurveyCompletedListener != null) {
    onSurveyDisplayedListener = callbackSurveyDisplayedListener;
    onQuestionAnsweredListener = callbackQuestionAnsweredListener;
    onSurveyClosedListener = callbackSurveyClosedListener;
    onSurveyCompletedListener = callbackSurveyCompletedListener;
    return true;
  }

  onSurveyDisplayedListener = callbackSurveyDisplayedListener;
  onQuestionAnsweredListener = callbackQuestionAnsweredListener;
  onSurveyClosedListener = callbackSurveyClosedListener;
  onSurveyCompletedListener = callbackSurveyCompletedListener;
  return await _channel.invokeMethod('registerSurveyListeners');
}