首页 > 解决方案 > 我是否正确理解 Firebase Analytics?

问题描述

我的目标是将 Ionic5(基于 Angular)与 Firebase 分析集成。我需要为 Android、IOS 和网络做这件事。

问题是适用于 IOS 和 Android 的东西 - 不适用于网络。

所以,我目前的解决方案 - 对于移动设备:

import { FirebaseAnalytics } from '@ionic-native/firebase-analytics/ngx';

然后用它来记录事件,等等:

this.fa.logEvent(name, properties); 

如果用户来自网络(尝试与移动设备相同 - 但它不起作用):

import 'firebase/analytics';
import * as firebase from 'firebase/app';

and log events -         firebase.analytics().logEvent(name, properties); 

我的问题是:我理解正确吗?对于所有方法(例如示例),我是否应该为 Web 和移动设备提供不同的实现方式?前任。

In constructor    (private fa: FirebaseAnalytics)

  logEvent(name: string, properties: LogEventPropertiesModel): void {
this.platform.ready().then(() => {
  if (this.isDesktop()) {
    firebase.analytics().logEvent(name, properties); // Ex: "select_content", {content_type: "page_view"}
  } else {
    this.fa.logEvent(name, properties); // Ex: "select_content", {content_type: "page_view"}
  }
  //
});

}

标签: angularfirebaseionic-frameworkfirebase-analyticsionic5

解决方案


您的理解是正确的并且符合当前文档

Firebase.Analytics 利用 iOS/Android 的原生实现和 Web 的 JS 实现。

从理论上讲,您可以只坚持一种实现是 javascript,在 Ionic 的情况下,它可以在所有平台上工作(由于 web 视图或浏览器),但是本机实现让您不必担心另一个 javascript 代码阻塞主线程等(所以大多数情况下)性能原因)。


推荐阅读