Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Fire(谷歌)分析事件显示在Chrome GA调试工具中,但未登录到Firebase_Angular_Firebase_Google Analytics_Angularfire - Fatal编程技术网

Angular Fire(谷歌)分析事件显示在Chrome GA调试工具中,但未登录到Firebase

Angular Fire(谷歌)分析事件显示在Chrome GA调试工具中,但未登录到Firebase,angular,firebase,google-analytics,angularfire,Angular,Firebase,Google Analytics,Angularfire,首先,如果这是一个完全愚蠢的问题,我表示歉意,因为我以前没有真正使用过谷歌分析,也没有使用过谷歌分析 问题是Firebase上没有显示分析事件(既没有自定义事件,也没有自动生成的屏幕视图)。然而,它们确实显示在Chrome中,带有GA调试工具。我也尝试过在没有启用调试模式的情况下这样做,但没有效果。在任何Firebase(或Analytics)视图中都看不到任何内容,包括DebugView 以下是来自浏览器控制台的示例: 这是相关代码。组件通过注入的数据库服务访问事件日志功能 在维修功能模块中

首先,如果这是一个完全愚蠢的问题,我表示歉意,因为我以前没有真正使用过谷歌分析,也没有使用过谷歌分析

问题是Firebase上没有显示分析事件(既没有自定义事件,也没有自动生成的屏幕视图)。然而,它们确实显示在Chrome中,带有GA调试工具。我也尝试过在没有启用调试模式的情况下这样做,但没有效果。在任何Firebase(或Analytics)视图中都看不到任何内容,包括DebugView

以下是来自浏览器控制台的示例:

这是相关代码。组件通过注入的数据库服务访问事件日志功能

在维修功能模块中:

...

import { AngularFireModule } from '@angular/fire';
import { AngularFirestore } from '@angular/fire/firestore';
import { AngularFireAnalyticsModule,
         ScreenTrackingService,
         DEBUG_MODE } from '@angular/fire/analytics';
import { AngularFirestoreModule } from '@angular/fire/firestore';

import { DatabaseService } from './database.service';

@NgModule({
  imports: [
    CommonModule,
    AngularFireModule.initializeApp(environment.firebase),
    AngularFireAnalyticsModule,
    AngularFirestoreModule,
  ],
  providers: [
    AngularFirestore,
    ScreenTrackingService,
    DatabaseService,
    { provide: DEBUG_MODE, useValue: true },
  ],
})
export class DatabaseModule {}
数据库服务中的日志记录功能:

...

import { AngularFirestore,
         DocumentData,
         DocumentSnapshot,
         QuerySnapshot } from '@angular/fire/firestore';
import { AngularFireAnalytics } from '@angular/fire/analytics';
import * as firebase from 'firebase/app';
import 'firebase/firestore';

...

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

  constructor(
    private firestore: AngularFirestore,
    private analytics: AngularFireAnalytics,
  ) {}

...

  public logEvent(eventName: string, eventParams: any = {}): void {
    this.analytics.logEvent(eventName, eventParams);
  }

...

this.databaseService.logEvent('candidate_show', {id: '6_25'});

使用DatabaseService的组件中的日志记录示例:

...

import { AngularFirestore,
         DocumentData,
         DocumentSnapshot,
         QuerySnapshot } from '@angular/fire/firestore';
import { AngularFireAnalytics } from '@angular/fire/analytics';
import * as firebase from 'firebase/app';
import 'firebase/firestore';

...

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

  constructor(
    private firestore: AngularFirestore,
    private analytics: AngularFireAnalytics,
  ) {}

...

  public logEvent(eventName: string, eventParams: any = {}): void {
    this.analytics.logEvent(eventName, eventParams);
  }

...

this.databaseService.logEvent('candidate_show', {id: '6_25'});

任何帮助都将不胜感激。我已经仔细研究了类似的问题,并在没有帮助的情况下尝试了以下方法:

  • 已选中Firebase上的事件视图过滤器
  • 记录事件后至少等待24小时
  • 使用AngularFireAnalytics.setAnalyticsCollectionEnabled显式启用集合(true)

最新版本的AngularFire。恢复到版本6.0.0将解决此问题。但是,该版本与Firebase Auth存在一些问题,因此如果您也使用Auth,我建议恢复到最新的5.x版本,这是已知的angular fire问题,它仍然处于打开状态,因此请恢复到@angular/fire@5.4.2您将能够在firestore中看到数据。

恢复到6.0.0后,问题得到了妥善解决。万分感谢!如果有帮助,请接受这个答案!祝你好运;)