将 Google Analytics 添加到您的 Vue.js SPA

如果您想知道您的应用程序是如何使用的,Google Analytics 会很棒。但是,通常对于单页应用程序,由于官方 Google Analytics 包的奇怪 API,获得正确的屏幕视图分析和直接挂钩事件比较棘手。但是,有一个vue-ua包可以为您自动处理大部分复杂问题,并允许您轻松地将 Google Analytics 集成到您的 Vue.js 应用程序中。

安装

vue-ua可以通过安装。纱线或 NPM:

# Yarn
$ yarn add vue-ua -D

# NPM
$ npm install vue-ua --save-dev

设置

通过导入插件并使用所需的配置参数启用它,在您的应用程序中初始化vue-ua注意vue-ua只支持应用追踪,不支持网页追踪。

如果您正在使用vue-router,您可以将其添加到vue-ua配置中,以便在 GA 中自动跟踪路由视图作为屏幕视图。

源代码/main.js
import VueAnalytics from 'vue-ua'
import VueRouter from 'vue-router'
...
// If you're using vue-router and want route integration, create your routes before enabling vue-ua.
const router = new VueRouter({
  routes
})

Vue.use(VueAnalytics, {
  // [Required] The name of your app as specified in Google Analytics.
  appName: '<app_name>',
  // [Required] The version of your app.
  appVersion: '<app_version>',
  // [Required] Your Google Analytics tracking ID.
  trackingId: '<your_tracking_id>',
  // If you're using vue-router, pass the router instance here.
  vueRouter: router,

  // Global Dimensions and Metrics can optionally be specified.
  globalDimensions: [
    { dimension: 1, value: 'FirstDimension' },
    { dimension: 2, value: 'SecondDimension' }
    // Because websites are only 2D, obviously. WebGL? What's that?
  ],

  globalMetrics: [
    { metric: 1, value: 'MyMetricValue' },
    { metric: 2, value: 'AnotherMetricValue' }
  ]
})

发送数据

在您的组件中,您可以轻松跟踪事件、屏幕视图和异常。您还可以通过导入Vue并访问Vue.analytics 来在应用程序的任何地方全局使用相同的方法

跟踪事件:

// Component Usage
this.$ua.trackEvent(
  eventCategory: string, eventAction: string, eventLabel: string, eventValue: number
)

// Global Usage
Vue.analytics.trackEvent(
  eventCategory: string, eventAction: string, eventLabel: string, eventValue: number
)

跟踪屏幕视图:

// Component Usage
this.$ua.trackView(routeName: string)

// Global Usage
Vue.analytics.trackView(routeName: string)

跟踪异常:

// Component Usage
this.$ua.trackException(description: string, isFatal: boolean)

// Global Usage
Vue.analytics.trackException(description: string, isFatal: boolean)

更改语言:

// languageCode is any valid IETF language tag.

// Component Usage
this.$ua.changeSessionLanguage(languageCode: string)

// Global Usage
Vue.analytics.changeSessionLanguage(languageCode: string)

您现在拥有收集用户在 Vue.js SPA 中所做的一切数据所需的所有工具。享受无限的力量!

觉得文章有用?

点个广告表达一下你的爱意吧 !😁