@appmetrica/react-native-analytics
Version:
React Native plugin for AppMetrica analytics tool
51 lines • 2.21 kB
TypeScript
import type { UserProfile } from './userProfile';
import type { AdRevenue, Revenue } from './revenue';
import type { ECommerceEvent } from './ecommerce';
export interface IReporter {
reportError(identifier: string, message?: string, _reason?: Error | Object): void;
reportErrorWithoutIdentifier(message: string | undefined, error: Error): void;
reportUnhandledException(error: Error): void;
reportEvent(eventName: string, attributes?: Record<string, any>): void;
pauseSession(): void;
resumeSession(): void;
sendEventsBuffer(): void;
clearAppEnvironment(): void;
putAppEnvironmentValue(key: string, value?: string): void;
setUserProfileID(userProfileID?: string): void;
setDataSendingEnabled(enabled: boolean): void;
reportUserProfile(userProfile: UserProfile): void;
reportAdRevenue(adRevenue: AdRevenue): void;
reportECommerce(event: ECommerceEvent): void;
reportRevenue(revenue: Revenue): void;
}
export declare class Reporter implements IReporter {
private apiKey;
constructor(apiKey: string);
reportError(identifier: string, message?: string, _reason?: Error | Object): void;
reportErrorWithoutIdentifier(message: string | undefined, error: Error): void;
reportUnhandledException(error: Error): void;
reportEvent(eventName: string, attributes?: Record<string, any>): void;
pauseSession(): void;
resumeSession(): void;
sendEventsBuffer(): void;
clearAppEnvironment(): void;
putAppEnvironmentValue(key: string, value?: string): void;
setUserProfileID(userProfileID: string): void;
setDataSendingEnabled(enabled: boolean): void;
reportUserProfile(profile: UserProfile): void;
reportAdRevenue(adRevenue: AdRevenue): void;
reportECommerce(ecommerce: ECommerceEvent): void;
reportRevenue(revenue: Revenue): void;
}
export type ReporterConfig = {
apiKey: string;
logs?: boolean;
maxReportsInDatabaseCount?: number;
sessionTimeout?: number;
dataSendingEnabled?: boolean;
appEnvironment?: Record<string, string | undefined>;
dispatchPeriodSeconds?: number;
userProfileID?: string;
maxReportsCount?: number;
};
//# sourceMappingURL=reporter.d.ts.map