var qualetics =newQualetics.service("YOUR_APPLICATION_ID","YOUR_APPLICATION_SECRET","SESSION_PREFIX"/* , false (Optional, currently always false since automatic page tracking is not supported on react native, Options (Optional) object containing additional options ) */).init();
The following options can be provided when constructing the tracker instance
JS
{host: string,// Host that tracker will connect to, defaults to ws://api.qualetics.comport: number,// Port that tracker will connect to, defaults to 8083defaultActor: Actor object // Default actor for all the messagesstickySessionId: boolean,// Store sessionId as cookie, defaults to true, only usable on browser// If stored sessionId has different session prefix than what is configured// new session id will be generated and it will be storedstoreDefaultActorFromApiCall: boolean,// Store default actor from api call, defaults to true, only usable on browser// This setting will have no effect if default actor setting is settrackUserGeoLocation: boolean // Currently not supported on react-nativetrackPageVisibilityChanges: boolean //Currently not supported on react native}
Sending Events
After the tracker has been initialized you can start sending events. Data format in the event should be:
JS
{"actor":{"type":"User",// Required"id":"js1234",// Optional, id of the user"attributes":{//Optional, key - value pairs that can provide more data about the actor"name":"John Doe","age":"31","address":{"street":"Test street 1","zip":"50100"}}},"action":{"type":"New User",// Required"attributes":{// Optional, key - value pairs that can provide more data about the action"referrer":"Facebook","coupon":"KIHSK123FS"}},"context":{"type":"Course",// Require"id":"12321123",// Optional, identifier for the context"attributes":{// Optional, key - value pairs that can provide more data about the context"speaker":"Jane Doe"}}}
Events can be sent either by sending the complete JSON object
let message = qualetics.createMessage();
message.setAction({type:"ButtonClick"}).setActor({type:"User",id:"js1234"}).setContext({type:"Button",name:"Button2"}).send();