@swrve/smarttv-sdk
Version:
Swrve marketing engagement platform SDK for SmartTV OTT devices
131 lines (130 loc) • 6.36 kB
TypeScript
import { ProfileManager } from "./Profile/ProfileManager";
import { CampaignManager } from "./Campaigns/CampaignManager";
import { ISwrveCampaign, ISwrveEmbeddedMessage } from "./Campaigns/ISwrveCampaign";
import { IPlatform } from "./utils/platforms/IPlatform";
import { ResourceManager } from "./Resources/ResourceManager";
import { GetResourcesCallback, GetUserResourcesDiffCallback, OnCampaignLoadedCallback, OnCustomButtonClicked, OnIAMDismissed, OnIAMShown, OnIdentifySuccessCallback, OnIdentifyErrorCallback, OnMessageListener, OnResourcesLoadedCallback } from "./SwrveSDK";
import { IUserInfo } from "./Profile/IUser";
import { ISwrveInternalConfig } from "./Config/ISwrveInternalConfig";
import { EventManager } from "./Events/EventManager";
import { SwrveRestClient } from "./RestClient/SwrveRestClient";
import ISwrveConfig from "./Config/ISwrveConfig";
import IDictionary from "./utils/IDictionary";
import IReadonlyDictionary from "./utils/IReadonlyDictionary";
import IReward from "./WebApi/Events/IReward";
import { ICampaignState } from "./Campaigns/ICampaignState";
export declare class SwrveInternal {
readonly profileManager: ProfileManager;
private readonly config;
private readonly evtManager;
private readonly eventFactory;
private readonly restClient;
private readonly campaignManager;
private readonly resourceManager;
private readonly platform;
private readonly realTimeUserPropertiesManager;
private onResourcesLoadedCallback;
private onCampaignLoadedCallback;
private onCustomButtonClickedCallback;
private onIAMDismissedCallback;
private onIAMShownCallback;
private eventLoopTimer;
private flushFrequency;
private _shutdown;
private autoShowEnabled;
private pauseSDK;
private installDate;
private identifyNetworkMonitorHandle?;
private campaignNetworkMonitorHandle?;
private identifiedOnAnotherDevice;
private refreshAssets;
constructor(config: Readonly<ISwrveConfig>, dependencies?: IDependencies);
init(): void;
getConfig(): ISwrveInternalConfig;
getUserInfo(): IUserInfo;
getMessageCenterCampaigns(personalizationProperties?: IDictionary<string>): ISwrveCampaign[];
getPlatform(): IPlatform;
embeddedMessageWasShownToUser(message: ISwrveEmbeddedMessage): void;
embeddedMessageButtonWasPressed(message: ISwrveEmbeddedMessage, buttonName: string): void;
getPersonalizedEmbeddedMessageData(message: ISwrveEmbeddedMessage, personalizationProperties: IDictionary<string>): string | null;
getPersonalizedText(text: string, personalizationProperties: IDictionary<string>): string | null;
sendEvent(keyName: string, payload: IDictionary<string | number>): void;
sendUserUpdateWithDate(keyName: string, date: Date): void;
sendUserUpdate(attributes: IReadonlyDictionary<string | number | boolean>): void;
sendPurchaseEvent(keyName: string, currency: string, cost: number, quantity: number): void;
sendInAppPurchaseWithoutReceipt(quantity: number, productId: string, productPrice: number, currency: string, rewards?: IReadonlyDictionary<IReward>): void;
sendCurrencyGiven(currencyGiven: string, amount: number): void;
sendQueuedEvents(userId?: string, forceUpdate?: boolean): void;
stop(): void;
updateCampaignsAndResources(forceUpdate?: boolean): Promise<void>;
saveToStorage(): void;
identify(externalUserId: string | null, onIdentifySuccess: OnIdentifySuccessCallback, onIdentifyError: OnIdentifyErrorCallback): void;
queueMessageImpressionEvent(messageId: number, payload?: IDictionary<string | number>): void;
onResourcesLoaded(callback: OnResourcesLoadedCallback): void;
onCampaignLoaded(callback: OnCampaignLoadedCallback): void;
onMessage(callback: OnMessageListener): void;
onIAMDismissed(callback: OnIAMDismissed): void;
onCustomButtonClicked(callback: OnCustomButtonClicked): void;
onIAMShown(callback: OnIAMShown): void;
getResources(callback: GetResourcesCallback): void;
getResourceManager(): ResourceManager;
getUserResourcesDiff(callback: GetUserResourcesDiffCallback): void;
showMessageCenterCampaign(campaign: ISwrveCampaign, personalizationProperties?: IDictionary<string>): boolean;
markMessageCenterCampaignAsSeen(campaign: ISwrveCampaign): void;
removeMessageCenterCampaign(campaign: ISwrveCampaign): void;
getCampaignState(campaignId: string): ICampaignState;
start(userId?: string): void;
stopAndSwitchUser(userId: string): void;
isSDKStarted(): boolean;
showCampaign(campaign: ISwrveCampaign, personalizationProperties?: IDictionary<string>): boolean;
shutdown(): void;
handleSendingQueue(): void;
isIdentifyCallPending(): boolean;
isCampaignCallPending(): boolean;
getRealTimeUserProperties(): IDictionary<string>;
retrievePersonalizationProperties(eventPayload?: IDictionary<string>, properties?: IDictionary<string>): IDictionary<string>;
isMessageShowing(): boolean;
private checkTriggers;
private makeIdentityCall;
private handleIdentifyOffline;
private cleanUpCampaignCallPending;
private cleanUpIdentifyCallPending;
private createAnonymousUser;
private verifyAndSwitchUser;
private switchUser;
private startNewSession;
private handlePageViewed;
private handleButtonClicked;
private dismissButtonClicked;
private customButtonClicked;
private copyToClipboard;
private pageLinkButtonClicked;
private queueButtonEvents;
private queueButtonUserUpdates;
private autoShowMessages;
private queueStartSessionEvent;
private handleCampaignResponse;
private handleRealTimeUserProperties;
private sendCampaignsDownloadedEvent;
private initSDK;
private disableAutoShowAfterDelay;
private queueEvent;
private handleResources;
private handleUpdate;
private handleQAUser;
private handleFlushRefresh;
private updateTimer;
private validateEventName;
private checkFirstUserInitiated;
private loadInstallDate;
private queueDeviceProperties;
private transformResourcesDiff;
private pageStateHandler;
}
export interface IDependencies {
campaignManager?: CampaignManager;
eventManager?: EventManager;
profileManager?: ProfileManager;
restClient?: SwrveRestClient;
platform?: IPlatform;
}