unified-analytics
Version:
Unified analytics library for web applications
34 lines (33 loc) • 1.09 kB
JavaScript
import { logEvent, initializeAnalytics } from "firebase/analytics";
import { initializeApp } from "firebase/app";
/**
* Firebase Google Analytics service implementation
*/
export class FirebaseGoogleAnalyticsService {
getInstance() {
return this._instance;
}
init(options) {
this._instance = initializeApp(options);
}
onEvent(event, debug) {
if (debug) {
console.log("[FirebaseGoogleAnalyticsService] Debug Event:", event);
}
if (!this.getInstance()) {
throw new Error("FirebaseApp not initialized");
}
logEvent(initializeAnalytics(this.getInstance()), event.name, event.attributes);
}
/**
* Create a new instance of FirebaseGoogleAnalyticsService
* @returns A new FirebaseGoogleAnalyticsService instance
*/
clone() {
return new FirebaseGoogleAnalyticsService();
}
}
export const firebaseGoogleAnalyticsService = new FirebaseGoogleAnalyticsService();
export * from "firebase/analytics";
export * from "firebase/app";
export * from "firebase/auth";