【问题标题】:Firebase analytics log event not working in production build of electronFirebase 分析日志事件在电子的生产版本中不起作用
【发布时间】:2020-02-27 20:17:11
【问题描述】:

我使用 firebase 包来使用实时数据库,我想实现 firebase 分析,所以我使用相同的包并编写代码进行分析

import * as firebase from 'firebase'
import 'firebase/analytics'
import { fireBase } from 'configs/config'
const config = {
  apiKey: fireBase.REACT_APP_FIREBASE_API_KEY,
  authDomain: fireBase.REACT_APP_FIREBASE_AUTH_DOMAIN,
  databaseURL: fireBase.REACT_APP_FIREBASE_DATABASE_URL,
  projectId: fireBase.REACT_APP_FIREBASE_PROJECT_ID,
  storageBucket: fireBase.REACT_APP_FIREBASE_STORAGE_BUCKET,
  messagingSenderId: fireBase.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
  appId: fireBase.REACT_APP_FIREBASE_APP_ID,
  measurementId: fireBase.REACT_APP_MEASUREMENT_ID,
}
firebase.initializeApp(config)
export const defaultAnalytics = firebase.analytics()
export default firebase

之后,我将 defaultAnalytics 导入到我需要它的文件中,并将该代码用于记录事件以进行分析

defaultAnalytics.logEvent('profile_update')

它在开发中完美运行,但在生产模式下无法运行

【问题讨论】:

    标签: javascript reactjs firebase electron


    【解决方案1】:

    有一个像电子一样的问题,当我们在开发模式下运行应用程序时,它会很容易地记录 firebase 事件,因为该应用程序是在 localhost:3000 上运行的,所以一个事件会起作用。

    但是当我们为 mac/windows 创建构建时,它不会记录事件,因为 firebase 包在构建运行在 http 协议上并且我们的电子应用程序生产构建运行时运行 file:// 协议。

    所以这里我们必须使用Measurement Protocol,因为我们需要在firebase应用中创建一个单独的属性。

    创建属性的步骤:

    1. 访问 analytics.google.com,然后创建一个 Firebase 应用。
    2. 点击创建属性并选择网站选项。
    3. 提供网站 URL 和属性名称。

    之后,您将获得跟踪信息。其中将提供跟踪代码。

    然后在主进程中使用universal-analytics

    这是完整的实现。 https://kilianvalkhof.com/2018/apps/using-google-analytics-to-gather-usage-statistics-in-electron/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      • 2011-01-12
      • 1970-01-01
      • 2021-04-01
      相关资源
      最近更新 更多