Skip to main content

E-Learning Ingest Events

Kenkai SDK E-Learning module consists of events for online learning platforms. You need to implement this module if your app offers learning content that may include learning content, viewing courses, attempting exams, or passing an exam to get certified.

List of Events

Event NameTypeDescription
QuestionquestionTrack actions on user activity on a given question.
ExamexamTrack events user performed while attempting the exam.
ModulemoduleTrack events regarding user interaction with the module inside the app.


Question Event

To log user answers to the questions. To log this event you need to provide the question id that User has attempted and also the id for the answer the user has selected.

Format

ParamUsabilityFormatEnum ValuesDescription
question_idREQUIREDSTRING---Id for the question.
actionREQUIREDSTRINGanswer, skipAction applied on the question.
answer_idREQUIREDSTRING---Id for the answer from a group of questions.
exam_idREQUIREDSTRING---Id for the exam for which the question is a part of.
metaOPTIONALANY---Any additional value that is sent with the log.

Usage

    val questionObject1 = QuestionObject(
id = "testQuestionId",
examId = "testExamId",
action = QuestionAction.Skip
)

CFELearnEvent.logIngest(
eventType = ELearnEventType.Question,
logObject = questionObject
)


Exam Event

To log actions related to e-learning module exams. which includes the related to starting, retaking, reviewing and submit the exam. BsLogExamEvent also updates the user level if they achieved a milestone.

Format

ParamUsabilityFormatEnum ValuesDescription
exam_idREQUIREDSTRING---Id for the exam provided to user.
actionREQUIREDSTRINGstart, submit, resultAction applied on the exam by the user.
is_passedREQUIREDBOOLEAN---If the user passed the exam or not?
scoreREQUIREDFLOAT---Total score the user achieved in the exam.
durationREQUIREDINT---Time in seconds, user spent on the exam.
metaOPTIONALANY---Any additional value that is sent with the log.

Usage

    val examObject = ExamObject(
id = "exam_exam_id",
score = 90f,
isPassed = true,
action = ExamAction.Start,
)

CFELearnEvent.logIngest(
eventType = ELearnEventType.Exam,
logObject = examObject
)


Module Event

To log actions related to e-learning modules which includes the log for user viewing the module, starting and finishing the module and also user viewing the content page as well.

Format

ParamUsabilityFormatEnum ValuesDescription
module_idREQUIREDSTRING---Id for the module user is interacting.
actionREQUIREDSTRINGviewAction user if performing while interacting with the module.
progressOPTIONALINT---Progress of user towards completing the module.
metaOPTIONALANY---Any additional value that is sent with the log.

Usage

    val moduleObject = ModuleObject(
id = "testModuleId",
progress = 60,
action = ModuleLogAction.View
)

CFELearnEvent.logIngest(
eventType = ELearnEventType.Module,
logObject = moduleObject
)