UNPKG

@zencemarketing/web-sdk

Version:

ZenceMarketing Web SDK for push notifications, popups, and custom event tracking.

33 lines (32 loc) 1.1 kB
import { getSdkData, getAuthToken } from "./init.js"; import { logger } from "../index.js"; import { getWebSocketInstance } from "../websocket.js"; async function customEvent(eventName, eventData, gaId) { if (typeof eventName !== "string") { logger.error("❌ Invalid eventName: Must be a string"); return; } if (typeof gaId !== "string") { logger.error("❌ Invalid gaId: Must be a string"); return; } if (Object.prototype.toString.call(eventData) !== "[object Object]") { logger.error("❌ Invalid eventData: Must be an object"); return; } const sdkData = getSdkData(); sdkData.userID = gaId; if (sdkData.show_custom_event === "1") { logger.info("✅ Custom Event is enabled"); let webSocketInstance = getWebSocketInstance(gaId); webSocketInstance.send("eventData", { token: getAuthToken(), ...eventData, "website_url": sdkData.website_url }); } else { logger.info("❌ Custom Event is not enabled"); } } export { customEvent };