UNPKG

react-native-swrve-plugin

Version:
197 lines (146 loc) 5.64 kB
export type Stack = 'us' | 'eu'; export type InterfaceOrientation = 'portrait' | 'landscape' | 'both'; export type InitMode = 'auto' | 'managed'; export type AndroidPushImportance = 'none' | 'min' | 'low' | 'default' | 'max'; export type PushListener = (payload: string) => void; export type UserResourcesListener = () => void; export type EmbeddedCampaignListener = (embeddedMessage: Map, personalizationProperties: Map, isControl: boolean) => void; export type InAppMessageListener = (action: string, message: Map, selectedButton?: Map) => void; export type DeeplinkListener = (actionString: string) => void; export type PushInboxUpdatedListener = () => void; export interface SwrvePushInboxListener { onComplete? : (messageId: Long, result: SwrvePushInboxListenerResult) => void; } export interface StringMap { [key: string]: string; } export interface SwrvePushListeners { pushListener?: PushListener; silentPushListener?: PushListener; } export interface SwrveListeners { userResourcesUpdatedListener?: UserResourcesListener; } export interface SwrveEmbeddedCampaignListener { embeddedCampaignListener?: EmbeddedCampaignListener } export interface SwrveInAppMessageListener { inAppMessageListener?: InAppMessageListener } export interface SwrveDeepLinkListener { deeplinkListener?: DeeplinkListener } export interface SwrvePushInboxUpdateListener { pushInboxUpdateListener?: PushInboxUpdateListener } /// Push and Resource and Campaign Listeners export function setListeners( SwrveListeners?: SwrveListeners, swrvePushListeners?: SwrvePushListeners ); export function setEmbeddedCampaignListener( SwrveEmbeddedCampaignListener?: SwrveEmbeddedCampaignListener ); export function setInAppMessageListener( SwrveInAppMessageListener?: SwrveInAppMessageListener ); export function setDeeplinkListener( SwrveDeepLinkListener?: SwrveDeepLinkListener ); export function start(userId: string); /// User management and data export function identify(userIdentity: string): Promise<string>; export function userUpdate(attributes: StringMap); export function userUpdateDate(name: string, date: Date); /// Events export function event(eventName: string, payload?: StringMap); export function sendQueuedEvents(); export function refreshCampaignsAndResources(); /// In-app purchase and virtual currency /** * Give some currency * @param currency * @param quantity int */ export function currencyGiven(currency: string, quantity: number); // itemName is a string // currency is a string // quantity is an int // cost is a double on Cordova, int in Android export function purchase(itemName: string, currency: string, quantity: number, cost: number); // localCost is a double // localCurrency is a string // productId is a string // quantity is an int export function unvalidatedIap(localCost: number, localCurrency: string, productId: string, quantity: number); // localCost is a double // localCurrency is a string // productId is a string // quantity is an int // reward is an IapReward export interface IapRewardItems { name: string; amount: number; } export interface IapRewardCurrencies { name: string; amount: number; } export interface IapReward { items: [IapRewardItems]; currencies: [IapRewardCurrencies]; } export function unvalidatedIapWithReward( localCost: number, localCurrency: string, productId: string, quantity: number, reward: IapReward ); export function getApiKey(): Promise<string>; export function getUserId(): Promise<string>; export function getExternalUserId(): Promise<string>; export function isStarted(): Promise<boolean>; export function getUserResources(): Promise<Map>; export function getUserResourcesDiff(): Promise<Map>; export function getRealTimeUserProperties(): Promise<Map>; export function getMessageCenterCampaigns(personalization?: Map): Promise<Array<Map>>; export function getMessageCenterCampaign(campaignId: number, personalization?: Map): Promise<Map>; export function getPersonalizedText(text: string, personalizationProperties: Map): Promise<string>; export function getPersonalizedEmbeddedMessageData(campaignId: number, personalizationProperties: Map): Promise<string>; export function showMessageCenterCampaign(campaignId: number, personalization?: Map); export function removeMessageCenterCampaign(campaignId: number); export function markMessageCenterCampaignAsSeen(campaignId: number); export function markEmbeddedMessageCampaignAsSeen(campaignId: number); export function embeddedControlMessageImpressionEvent(campaignId: number); export function markEmbeddedMessageButtonAsPressed(campaignId: number, button: String); export function stopTracking(); export interface SwrvePushInboxMessage { messageId: bigint; variantId: bigint; endDate: bigint; sentDate: bigint; customerJson: string; state: SwrvePushInboxMessageState; } export interface SwrvePushInboxResult { resultCode: SwrvePushInboxResultCode; errorMessage: string; httpResponseCode: int; } export const enum SwrvePushInboxMessageState { READ = "READ", UNREAD = "UNREAD" } export const enum SwrvePushInboxMessageState { SUCCESS = "SUCCESS", ERROR_UNKNOWN = "ERROR_UNKNOWN", ERROR = "ERROR" } export function setPushInboxUpdateListener( SwrvePushInboxUpdateListener?: SwrvePushInboxUpdateListener ); export function getPushInboxMessages(): Promise<Array<SwrvePushInboxMessage>>; export function engagePushInboxMessage(messageId: number): Promise<SwrvePushInboxResult>; export function readPushInboxMessage(messageId: number): Promise<SwrvePushInboxResult>; export function deletePushInboxMessage(messageId: number): Promise<SwrvePushInboxResult>;