UNPKG

uni-analytics-sdk

Version:

A universal SDK for analytics and logging.

33 lines (32 loc) 1.3 kB
/** * @fileoverview This file contains the implementation of the GoogleAnalyticsProvider. * It handles sending analytics and error data to Google Analytics 4 (GA4) from both * client-side (browser) and server-side (Node.js) environments. */ import { SDKEvent, Provider, GoogleAnalyticsProviderConfig } from '@/interfaces'; export declare class GoogleAnalyticsProvider implements Provider { name: string; private config; private isBrowser; private lastUserId; /** * Sets up the GA4 provider. In the browser, it loads the gtag.js script. * In Node.js, it verifies the necessary configuration. * @param {GoogleAnalyticsProviderConfig} config - The configuration for this provider. */ setup(config: GoogleAnalyticsProviderConfig): Promise<void>; /** * Processes a batch of events and sends them to GA4. * @param {SDKEvent[]} events - An array of events from the SDK core. */ processEvents(events: SDKEvent[]): Promise<void>; private setupBrowser; private processEventsBrowser; private setupNode; private processEventsNode; private sendPayloadForUser; private extractUserProperties; private mapEventToMeasurementProtocol; private generateStableSessionId; private sanitizeAndFormatUserProperties; }