Angularfire 和谷歌分析设置

问题描述 投票:0回答:1

我正在尝试将 Google Analytics 设置为 AngularFire 包的一部分,但到目前为止尚未成功。

到目前为止我尝试过的:

在 app.module.ts 中 -

import { provideFirebaseApp, getApp, initializeApp } from '@angular/fire/app';
import { getAnalytics, provideAnalytics } from '@angular/fire/analytics';

@NgModule({
  declarations: [
    AppComponent,
    LayoutComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    UiSharedModule,
    FormsModule,
    ReactiveFormsModule,
    provideFirebaseApp(() => initializeApp(environment.firebase)),
    provideAnalytics(() => getAnalytics()),
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

在 app.component.ts 中 -

export class AppComponent {
  title = 'myAwesomeApp';
  // private analytics: Analytics = inject(Analytics); -- none of the injection attempts are working

  constructor(private analytics: Analytics) {
    // console.log(this.analytics.app.automaticDataCollectionEnabled); -- throws error - ERROR FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call initializeApp() first (app/no-app).

this.analytics.logEvent("some_event", {..}) - not exists anymore, any idea how i can use it?
    
  }

}

我正在使用 Angular 16 和 Angular/fire - ^7.6.1

angular firebase angularfire
1个回答
0
投票

看起来您需要从分析导入

logEvent
并独立运行

import { Component, inject } from '@angular/core';

import { Analytics, logEvent } from '@angular/fire/analytics';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent {
  private analytics: Analytics = inject(Analytics);
  
  constructor() {
    logEvent(this.analytics, 'event_name')
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.