@ezbot-ai/javascript-sdk
Version:
The easiest way to interact with ezbot via JS (node and browser)
52 lines • 4.13 kB
JavaScript
/* eslint-disable functional/no-return-void */
import * as Snowplow from '@snowplow/browser-tracker';
import { ezbotLinkClickEventSchemaPath, ezbotRewardEventSchemaPath, ezbotTrackerId, } from './constants';
function trackRewardEvent(payload) {
const event = {
schema: ezbotRewardEventSchemaPath,
data: payload,
};
Snowplow.trackSelfDescribingEvent({ event: event }, [ezbotTrackerId] // only send to ezbot tracker
);
}
function trackLinkClick(payload) {
const event = {
schema: ezbotLinkClickEventSchemaPath,
data: payload,
};
Snowplow.trackSelfDescribingEvent({
event: event,
}, [ezbotTrackerId] // only send to ezbot tracker
);
}
const defaultActivityTrackingConfiguration = {
minimumVisitLength: 2,
heartbeatDelay: 2,
};
function startActivityTracking(config = defaultActivityTrackingConfiguration) {
Snowplow.enableActivityTracking(config, [ezbotTrackerId]); // only send to ezbot tracker
}
function removeSnowplowQueryParams() {
// Only proceed if the _sp parameter exists
if (window.location.href.includes('_sp=')) {
// Create a URL object from the current location
const url = new URL(window.location.href);
// Remove the _sp parameter
url.searchParams.delete('_sp');
// Get the new URL string (this automatically handles the case where no parameters remain)
const newUrl = url.toString();
// Update the browser history without reloading the page
history.replaceState(history.state, '', newUrl);
}
}
function trackPageView(config) {
Snowplow.trackPageView(config);
}
function setUserId(userId) {
Snowplow.setUserId(userId);
}
function setUserIdFromCookie(cookieName) {
Snowplow.setUserIdFromCookie(cookieName);
}
export { trackRewardEvent, trackLinkClick, startActivityTracking, trackPageView, setUserId, setUserIdFromCookie, removeSnowplowQueryParams, };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYWNraW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhDQUE4QztBQUM5QyxPQUFPLEtBQUssUUFBUSxNQUFNLDJCQUEyQixDQUFDO0FBTXRELE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsMEJBQTBCLEVBQzFCLGNBQWMsR0FDZixNQUFNLGFBQWEsQ0FBQztBQVFyQixTQUFTLGdCQUFnQixDQUFDLE9BQTBDO0lBQ2xFLE1BQU0sS0FBSyxHQUFxQjtRQUM5QixNQUFNLEVBQUUsMEJBQTBCO1FBQ2xDLElBQUksRUFBRSxPQUFPO0tBQ2QsQ0FBQztJQUNGLFFBQVEsQ0FBQyx3QkFBd0IsQ0FDL0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQ2hCLENBQUMsY0FBYyxDQUFDLENBQUMsNkJBQTZCO0tBQy9DLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsT0FBNkM7SUFDbkUsTUFBTSxLQUFLLEdBQXdCO1FBQ2pDLE1BQU0sRUFBRSw2QkFBNkI7UUFDckMsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDO0lBQ0YsUUFBUSxDQUFDLHdCQUF3QixDQUMvQjtRQUNFLEtBQUssRUFBRSxLQUFLO0tBQ2IsRUFDRCxDQUFDLGNBQWMsQ0FBQyxDQUFDLDZCQUE2QjtLQUMvQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sb0NBQW9DLEdBQWtDO0lBQzFFLGtCQUFrQixFQUFFLENBQUM7SUFDckIsY0FBYyxFQUFFLENBQUM7Q0FDbEIsQ0FBQztBQUVGLFNBQVMscUJBQXFCLENBQzVCLFNBQXdDLG9DQUFvQztJQUU1RSxRQUFRLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLDZCQUE2QjtBQUMxRixDQUFDO0FBRUQsU0FBUyx5QkFBeUI7SUFDaEMsMkNBQTJDO0lBQzNDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUMsZ0RBQWdEO1FBQ2hELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUMsMkJBQTJCO1FBQzNCLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLDBGQUEwRjtRQUMxRixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFOUIsd0RBQXdEO1FBQ3hELE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FDcEIsTUFBaUU7SUFFakUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsTUFBc0I7SUFDdkMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxVQUFrQjtJQUM3QyxRQUFRLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsU0FBUyxFQUNULG1CQUFtQixFQUNuQix5QkFBeUIsR0FDMUIsQ0FBQyJ9