Overview
JoinSession(scenarioID : string, contextExtension : Extension) : Boolean
The JoinSession() function should be called every time the user starts a new session. It:
- Joins a user to a session for a given scenario within the module.
- Auto-generates an xAPI statement and sends it to the PIXO Platform as a PIXOVR_SESSION_JOINED event.
- Adds the given context extensions to the xAPI Statement context if it's not null.
- Returns false if there is no logged in user. Otherwise returns true.
- Will throw an error if there is already a session in progress that hasn't been ended with a PIXOVR_SESSION_COMPLETE event, typically sent via the CompleteSession() function.
Parameters
JoinSession has two optional parameters:
- scenarioID:string — Sets the ApexSystem Scenario ID, which is then used as part of the "id" property of the "object" object. If this is not set, then whatever the ApexSystem Scenario ID was previously set to will be used.
-
contextExtension:Extension — Allows you to include any custom extensions in the context object. This is used to include any additional information you want to report that is not in the standard JoinSession report. See Extensions for more details.
Handling Response
- OnJoinSessionSuccess is called when the user was able to join the session successfully.
- OnJoinSessionFailed is called when the user was not able to join the session or when the server is not able to be reached.
Example Code
Extension currentContextExtension = new Extension();
currentContextExtension.Add("https://www.pixovr.com/xapi/extensions/iri_extension","value");
currentContextExtension.AddSimple("simple_key", "value");
ApexSystem.JoinSession(contextExtension: currentContextExtension)
Example Report
The data report that appears on the PIXO Platform using the above code:
id: e402b5ce-ce8e-4e73-91e0-be53fbc56ada
verb: {
"id":"https://pixovr.com/xapi/verbs/joined_session",
"display":{"en":"Joined Session"
}
}
actor: {
"mbox":"test@pixodev.com",
"objectType":"Agent"
}
object: {
"id":"https://pixovr.com/xapi/objects/34/Generic",
"objectType":"Activity"
}
context: {
"platform":"OSXEditor",
"revision":"1.00.00",
"extensions":{
"https://pixovr.com/xapi/extension/device_id":"C79C3829-B4D3-587A-8FB8-5BDACCE16553",
"https://pixovr.com/xapi/extension/moduleIds":"34",
"https://pixovr.com/xapi/extension/simple_key":"value",
"https://pixovr.com/xapi/extension/device_model":"MacBookPro16,1",
"https://www.pixovr.com/xapi/extensions/iri_extension":"value"
},"registration":"92886b73-c959-4707-a51b-2efe7d48c99c"
}
version: 1.0.3
timestamp: 2022-06-20T06:55:40