@rudderstack/rudder-sdk-react-native
Version:
Rudder React Native SDK
44 lines (43 loc) • 2.06 kB
TypeScript
import IDBEncryption from './IDBEncryption';
import IRudderContext from './IRudderContext';
export interface Configuration {
dataPlaneUrl?: string;
controlPlaneUrl?: string;
flushQueueSize?: number;
dbCountThreshold?: number;
sleepTimeOut?: number;
configRefreshInterval?: number;
autoCollectAdvertId?: boolean;
trackAppLifecycleEvents?: boolean;
recordScreenViews?: boolean;
logLevel?: number;
autoSessionTracking?: boolean;
sessionTimeout?: number;
enableBackgroundMode?: boolean;
collectDeviceId?: boolean;
enableGzip?: boolean;
dbEncryption?: IDBEncryption;
withFactories?: Array<Record<string, unknown> | Function>;
}
export interface Bridge {
setup(configuration: Configuration, options: Record<string, unknown> | null): Promise<void>;
track(event: string, properties: Record<string, unknown> | null, options: Record<string, unknown> | null): Promise<void>;
screen(name: string, properties: Record<string, unknown> | null, options: Record<string, unknown> | null): Promise<void>;
identify(userId: string, traits: Record<string, unknown> | null, options: Record<string, unknown> | null): Promise<void>;
alias(newId: string, previousId: string | null, options: Record<string, unknown> | null): Promise<void>;
group(groupId: string, traits: Record<string, unknown> | null, options: Record<string, unknown> | null): Promise<void>;
reset(clearAnonymousId: boolean): Promise<void>;
flush(): Promise<void>;
optOut(optOut: boolean): Promise<void>;
putDeviceToken(token: string): Promise<void>;
putAdvertisingId(id: string): Promise<void>;
clearAdvertisingId(): Promise<void>;
putAnonymousId(id: string): Promise<void>;
registerCallback(integrationName: string, callback: Function): Promise<void>;
getRudderContext(): Promise<IRudderContext | null>;
startSession(sessionId?: string): Promise<void>;
endSession(): Promise<void>;
getSessionId(): Promise<number | null>;
}
declare const bridge: Bridge;
export default bridge;