UNPKG

native-update

Version:

Foundation package for building a comprehensive update system for Capacitor apps. Provides architecture and interfaces but requires backend implementation.

71 lines (70 loc) 2.11 kB
export interface UpdateEvent { type: 'check' | 'download' | 'install' | 'error' | 'rollback'; version?: string; success: boolean; duration?: number; error?: string; metadata?: Record<string, any>; } export interface AnalyticsProvider { trackEvent(event: UpdateEvent): Promise<void>; trackError(error: Error, context?: Record<string, any>): Promise<void>; setUserId(userId: string): void; setProperties(properties: Record<string, any>): void; } export declare class Analytics { private static instance; private providers; private readonly logger; private userId?; private properties; private constructor(); static getInstance(): Analytics; /** * Add an analytics provider */ addProvider(provider: AnalyticsProvider): void; /** * Track an update event */ trackEvent(event: UpdateEvent): Promise<void>; /** * Track an error */ trackError(error: Error, context?: Record<string, any>): Promise<void>; /** * Set user ID for analytics */ setUserId(userId: string): void; /** * Set global properties */ setProperties(properties: Record<string, any>): void; /** * Track update check */ trackUpdateCheck(available: boolean, version?: string): Promise<void>; /** * Track download progress */ trackDownload(version: string, success: boolean, error?: string): Promise<void>; /** * Track installation */ trackInstall(version: string, success: boolean, error?: string): Promise<void>; /** * Track rollback */ trackRollback(fromVersion: string, toVersion: string, reason: string): Promise<void>; } /** * Console analytics provider for development */ export declare class ConsoleAnalyticsProvider implements AnalyticsProvider { private userId?; private properties; trackEvent(event: UpdateEvent): Promise<void>; trackError(error: Error, context?: Record<string, any>): Promise<void>; setUserId(userId: string): void; setProperties(properties: Record<string, any>): void; }