UNPKG

@swrve/smarttv-sdk

Version:

Swrve marketing engagement platform SDK for SmartTV OTT devices

84 lines (83 loc) 4.51 kB
import { ISwrveCampaign, ISwrveCampaignResourceResponse, ISwrveCondition, ISwrveMessage, ISwrveTrigger, ISwrveAsset, ISwrveBaseMessage } from "./ISwrveCampaign"; import { ICampaignDownloadData, IQACampaignTriggerEvent } from "../Events/EventTypeInterfaces"; import { ICampaignState } from "./ICampaignState"; import { OnPageViewed } from "./Messages/SwrveMessageDisplayManager"; import { AssetManager } from "./AssetManager"; import { OnMessageListener } from "../SwrveSDK"; import { ProfileManager } from "../Profile/ProfileManager"; import { OnButtonClicked, OnBackButtonClicked } from "./Messages/SwrveMessageDisplayManager"; import { IPlatform } from "../utils/platforms/IPlatform"; import { ISwrveInternalConfig } from "../Config/ISwrveInternalConfig"; import { ResourceManager } from "../Resources/ResourceManager"; import { OnEmbeddedMessageListener } from "../Config/ISwrveConfig"; import IDictionary from "../utils/IDictionary"; export declare type OnAssetsLoaded = (error?: Error) => void; export interface ICampaignRuleStatus { status: number; message: string; } export interface ICampaignTriggerStatus { globalStatus: ICampaignRuleStatus; campaignStatus?: ICampaignRuleStatus; campaignFailCode: number; campaigns: IQACampaignTriggerEvent[]; } export declare class CampaignManager { profileManager: ProfileManager; private campaigns; private campaignState; private platform; private readonly messageDisplayManager; private readonly assetManager; private onMessageListener; private onEmbeddedListener; private _maxMessagesPerSession; private _minDelay; private _delayFirstMessage; private readonly MAX_MESSAGES_PER_SESSION; private readonly MIN_DELAY; private readonly DELAY_FIRST_MESSAGE; private messagesShownCount; private lastShownMessageTime; constructor(profileManager: ProfileManager, platform: IPlatform, config?: ISwrveInternalConfig, resourceManager?: ResourceManager, personalizationProperties?: IDictionary<string>); storeCampaigns(response: ISwrveCampaignResourceResponse, personalizationProperties: IDictionary<string>, onAssetsLoaded: OnAssetsLoaded): void; refreshAssets(personalizationProperties: IDictionary<string>, onAssetsLoaded: OnAssetsLoaded): void; resetCampaignState(clearCampaigns?: boolean): void; loadStoredCampaigns(userId: string): void; synchronizeCampaignState(): void; getCampaignIDs(): ICampaignDownloadData[]; getCampaignVariantID(campaign: ISwrveCampaign): number; getSentPageViewEvents(): number[]; getSentNavigationEvents(): number[]; getCampaignState(campaignId: string): ICampaignState; onEmbeddedMessage(onEmbeddedMessageListener: OnEmbeddedMessageListener): void; onMessage(onMessageListener: OnMessageListener): void; onPageViewed(callback: OnPageViewed): void; onButtonClicked(callback: OnButtonClicked): void; onBackButtonClicked(callback: OnBackButtonClicked): void; showCampaign(campaign: ISwrveCampaign, personalizationProperties?: IDictionary<string>, impressionCallback?: OnMessageListener): boolean; checkTriggers(triggerName: string, payload: object, impressionCallback: OnMessageListener, qa?: boolean, personalizationProperties?: IDictionary<string>): ICampaignTriggerStatus; showMessage(message: ISwrveMessage, campaign: ISwrveCampaign, personalizationProperties?: IDictionary<string>): void; closeMessage(): void; canTriggerWithPayload(trigger: ISwrveTrigger, payload: any): boolean; hasFulfilledCondition(condition: ISwrveCondition, payload: any): boolean; handleCDN(response: ISwrveCampaignResourceResponse): void; getAssetManager(): AssetManager; getMessageCenterCampaigns(personalizationProperties?: IDictionary<string>): ISwrveCampaign[]; updateCampaignState(message: ISwrveBaseMessage): void; markCampaignAsSeen(campaign: ISwrveCampaign): void; removeMessageCenterCampaign(campaign: ISwrveCampaign): void; isMessageShowing(): boolean; private setCampaignStatus; private applyGlobalRules; private applyCampaignRules; private parseGlobalRules; private handleAssets; static getAllAssets(campaigns: ReadonlyArray<ISwrveCampaign>, cdn: string, personalizationProperties?: IDictionary<string>): ISwrveAsset[]; private canCampaignRender; private getNow; private filterUnsupportedCampaigns; private hasMultilineTextFeature; private hasPlainTextButtonFeature; private hasCopyToClipboardFeature; }