UNPKG

@swrve/smarttv-sdk

Version:

Swrve marketing engagement platform SDK for SmartTV OTT devices

162 lines (161 loc) 6.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SwrveSDK = void 0; const SwrveInternal_1 = require("./SwrveInternal"); const SwrveConstants_1 = require("./utils/SwrveConstants"); let swrveInternal = null; class SwrveSDK { constructor(config) { swrveInternal = new SwrveInternal_1.SwrveInternal(config); } static createInstance(config) { if (config.apiKey.toLowerCase().startsWith("secret-")) { throw Error(`API Key ${config.apiKey} is invalid. It should not start with 'secret-'`); } if (SwrveSDK._instance) { return SwrveSDK._instance; } else { SwrveSDK._instance = new SwrveSDK(config); SwrveSDK._instance.init(); return SwrveSDK._instance; } } init() { SwrveSDK.checkInstance().init(); } static checkInstance() { if (swrveInternal == null) { throw Error(SwrveConstants_1.GET_INSTANCE_ERROR); } return swrveInternal; } //******************************** Callbacks ****************************************************// static onResourcesLoaded(callback) { SwrveSDK.checkInstance().onResourcesLoaded(callback); } static onCampaignLoaded(callback) { SwrveSDK.checkInstance().onCampaignLoaded(callback); } static onMessage(callback) { SwrveSDK.checkInstance().onMessage(callback); } static getResources(callback) { SwrveSDK.checkInstance().getResources(callback); } static getUserResourcesDiff(callback) { SwrveSDK.checkInstance().getUserResourcesDiff(callback); } static onIAMDismissed(callback) { SwrveSDK.checkInstance().onIAMDismissed(callback); } static onCustomButtonClicked(callback) { SwrveSDK.checkInstance().onCustomButtonClicked(callback); } static onIAMShown(callback) { SwrveSDK.checkInstance().onIAMShown(callback); } //******************************** Accessor methods *********************************************// static getConfig() { return SwrveSDK.checkInstance().getConfig(); } static getInstance() { if (SwrveSDK._instance == null) { throw new Error(SwrveConstants_1.GET_INSTANCE_ERROR); } return SwrveSDK._instance; } static getResourceManager() { return SwrveSDK.checkInstance().getResourceManager(); } static getUserInfo() { return SwrveSDK.checkInstance().getUserInfo(); } static getSDKVersion() { return SwrveConstants_1.sdkVersion; } //******************************** Embedded Campaigns *********************************************// static embeddedMessageWasShownToUser(message) { return SwrveSDK.checkInstance().embeddedMessageWasShownToUser(message); } static embeddedMessageButtonWasPressed(message, buttonName) { return SwrveSDK.checkInstance().embeddedMessageButtonWasPressed(message, buttonName); } static getPersonalizedEmbeddedMessageData(message, personalizationProperties) { return SwrveSDK.checkInstance().getPersonalizedEmbeddedMessageData(message, personalizationProperties); } static getPersonalizedText(text, personalizationProperties) { return SwrveSDK.checkInstance().getPersonalizedText(text, personalizationProperties); } //*************************************** Event Management ************************************// static sendEvent(name, payload = {}) { SwrveSDK.checkInstance().sendEvent(name, payload); } static sendUserUpdateWithDate(keyName, date) { SwrveSDK.checkInstance().sendUserUpdateWithDate(keyName, date); } static sendUserUpdate(attributes) { SwrveSDK.checkInstance().sendUserUpdate(attributes); } static sendPurchaseEvent(name, currency, cost, quantity) { SwrveSDK.checkInstance().sendPurchaseEvent(name, currency, cost, quantity); } static sendInAppPurchaseWithoutReceipt(quantity, productId, productPrice, currency, rewards) { SwrveSDK.checkInstance().sendInAppPurchaseWithoutReceipt(quantity, productId, productPrice, currency, rewards); } static sendCurrencyGiven(currencyGiven, amount) { SwrveSDK.checkInstance().sendCurrencyGiven(currencyGiven, amount); } static sendQueuedEvents() { SwrveSDK.checkInstance().sendQueuedEvents(); } //*************************************** Lifecycle / Account Management ************************************// static identify(externalUserId, onIdentifySuccess, onIdentifyError) { SwrveSDK.checkInstance().identify(externalUserId, onIdentifySuccess, onIdentifyError); } static start(userId) { SwrveSDK.checkInstance().start(userId); } static isStarted() { return SwrveSDK.checkInstance().isSDKStarted(); } static shutdown() { SwrveSDK.checkInstance().shutdown(); swrveInternal = null; SwrveSDK._instance = null; } static stopTracking() { SwrveSDK.checkInstance().stopTracking(); } //*************************************** Message Center *******************************// static getMessageCenterCampaigns(personalizationProperties) { return SwrveSDK.checkInstance().getMessageCenterCampaigns(personalizationProperties); } static showMessageCenterCampaign(campaign, personalizationProperties) { return SwrveSDK.checkInstance().showMessageCenterCampaign(campaign, personalizationProperties); } static markMessageCenterCampaignAsSeen(campaign) { SwrveSDK.checkInstance().markMessageCenterCampaignAsSeen(campaign); } static removeMessageCenterCampaign(campaign) { SwrveSDK.checkInstance().removeMessageCenterCampaign(campaign); } static getCampaignState(campaignId) { return SwrveSDK.checkInstance().getCampaignState(campaignId); } static isMessageShowing() { return SwrveSDK.checkInstance().isMessageShowing(); } //*************************************** Other ************************************// static saveToStorage() { SwrveSDK.checkInstance().saveToStorage(); } static showCampaign(campaign) { return SwrveSDK.checkInstance().showCampaign(campaign); } static getPlatform() { return SwrveSDK.checkInstance().getPlatform(); } } exports.SwrveSDK = SwrveSDK; SwrveSDK._instance = null;