tianji-client-sdk
Version:
93 lines • 2.43 kB
TypeScript
/**
* Client SDK for Tianji Application API
*/
import { IdentifyPayload } from './types';
/**
* Application event payload interface
*/
export interface ApplicationEventPayload {
/**
* Language information (max 35 chars)
*/
language?: string;
/**
* Operating system information (max 20 chars)
*/
os?: string;
/**
* URL information (max 500 chars)
*/
url?: string;
/**
* Application identifier (required)
*/
application: string;
/**
* Event name (max 50 chars)
*/
name?: string;
/**
* Application data object
*/
data?: Record<string, any>;
/**
* Screen Name
*/
screen?: string;
/**
* Screen Params
*/
params?: Record<string, any>;
}
/**
* Application identify payload interface
*/
export interface ApplicationIdentifyPayload extends ApplicationEventPayload {
/**
* User identification data (required for identify)
*/
data: Record<string, any>;
}
/**
* Options for application tracking
*/
export interface ApplicationTrackingOptions {
/**
* Your Tianji server URL
* @example https://tianji.example.com
*/
serverUrl: string;
/**
* Application identifier
*/
applicationId: string;
}
export declare function initApplication(_options: ApplicationTrackingOptions): void;
/**
* Update current application screen
*/
export declare function updateCurrentApplicationScreen(name: string, params: Record<string, any>): void;
/**
* Send application screen view event to Tianji server
*/
export declare function reportApplicationScreenView(screenName?: string, screenParams?: Record<string, any>): Promise<void>;
/**
* Send application event to Tianji server
*
* @param options - Application tracking options
* @param eventName - Name of the event
* @param eventData - Event data
*/
export declare function reportApplicationEvent(eventName: string, eventData?: Record<string, any>, screenName?: string, screenParams?: Record<string, any>): Promise<void>;
export interface VersionPayload {
version?: string;
sdkVersion?: string;
}
/**
* Identify user in application
*
* @param options - Application tracking options
* @param userData - User identification data
*/
export declare function identifyApplicationUser(userInfo: IdentifyPayload | VersionPayload): Promise<void>;
//# sourceMappingURL=application.d.ts.map