uni-analytics-sdk
Version:
A universal SDK for analytics and logging.
33 lines (32 loc) • 1.3 kB
TypeScript
/**
* @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;
}