@livesession/sdk
v1.1.4
Published
Add a LiveSession script to your site even easier with our SDK
Downloads
8,132
Readme
Official LiveSession SDK
This small package let you install LiveSession script and configure it properly.
If you need you can use methods that were also provided in this SDK.
Usage
npm i @livesession/sdk
or yarn add @livesession/sdk
Next, you should initialize the SDK on your website like in this example:
import ls from "@livesession/sdk";
// init a script, trackID is required
ls.init("YOUR TRACKID", options, sdkOptions);
After LiveSession is inited, you can start recording session using method newPageView()
Initialization example with enabled recording
ls.init("123456789", { keystrokes: true, rootHostname: ".mypage.com" });
ls.newPageView();
// or with devMode on
ls.init(
"1234.56789",
{ rootHostname: ".mypage.com" },
{
devMode: true, // process.env.NODE_ENV === "development"
}
);
ls.newPageView();
Custom events
ls.track("User Subscribed", {
plan: "premium",
seats: 1,
total: 255.50,
isPatron: true
});
React usage
ls.init("YOUR-TRACK-ID", options, sdkOptions);
ls.newPageView();
ReactDOM.render(<App />, document.getElementById("root"));
Angular usage
Implementation is created thanks to @SkowyrnyMG
Import SDK into your main app component
Import
OnInit
from@angular/core
Implement
OnInit
and call LiveSession init method inngOnInit
function, and start recording
// app.component.ts
import ls from '@livesession/sdk'
export class AppComponent implemets OnInit {
ngOnInit(){
ls.init("YOUR_TRACK_ID");
ls.newPageView();
}
}
For more about initializing script check out our guide
sdkOptions
As a third argument to init method you can pass sdkOptions object, here are all available variables:
| Variable | Parameter | Default | Info | | -------- | --------- | ------- | ------------------------------------------------- | | devMode | bool | false | Log methods into console instead of calling their | | scriptURL | string | https://cdn.livesession.io/track.js | Link to LiveSession tracking code, useful if you want to use a specific version of code|
Example
ls.init("exampleID", null, { devMode: true });
API
If you initialized script, you can simply customize it with following functions:
| Function | Parameter | Default | Allowed | | ----------------- | ---------------------------- | ----------------- | -----------------------------------------------| | init | trackID, options, sdkOptions | null, null, false | string(required), object, object | | getSessionURL | callback(url, isNewSession) | null | void(string, bool) | | identify | data | null | object | | invalidateSession | - | null | - | | newPageView | options | null | object | | setOptions | options | null | object | | setCustomParams | data | null | object | | off | - | null | - | | optOut | - | false | - | | debug | - | false | - | | track | event, properties | null, null | string(required), object | | log | logLevel, data | "log", null | string("log", "info", "warn", "error"), object |
If out want to learn more about all methods, go to our developers page
Types
logLevel supported
| Level | Description | | -------- |----------------------------------------------------------------------------------- | | "log" | Object will be logged as log | | "info" | Object will be logged as info | | "warn" | Object will be logged as warn | | "error" | Object will be logged as error |
Contributing
We're always open to work with our community. Let us know if you have ideas for new features or suggestions. Pull requests for bug fixes are also welcome!
Changelog
This package currently support v.1.4.0
of API, you can find more informations about API changelog here