HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/src/app/services/analytics.service.ts
import { Capacitor } from '@capacitor/core';
import { NavigationEnd, Router } from '@angular/router';
import { Injectable } from '@angular/core';

import { FirebaseAnalytics } from "@capacitor-community/firebase-analytics";
import { filter } from "rxjs/operators";
import { environment } from '../../environments/environment';

@Injectable({
  providedIn: 'root'
})
export class AnalyticsService {

  constructor(private router: Router) {
    this.initialize();
    this.router.events.pipe(
      filter((e: any) => e instanceof NavigationEnd),
    ).subscribe((e: any) => {
      this.setScreenName(e.url);
    });
  }

  initialize() {
    if (!Capacitor.isNativePlatform()) {
      FirebaseAnalytics.initializeFirebase(environment.firebase);
    }
  }

  setScreenName(screenName) {
    FirebaseAnalytics.setScreenName({
      screenName: screenName,
      nameOverride: screenName
    });
  }

  logEvent(name, origin, category = 'click', data = '') {
    if (name) {
      FirebaseAnalytics.logEvent({
        name: name.replace(/\s/g, "_"),
        params: {
          category: category,
          origin: origin,
          data: data
        },
      });
    }
  }

  setUserId(id) {
    FirebaseAnalytics.setUserId({
      userId: id,
    });
  }
}