Quasar CLI with Webpack - @quasar/app-webpack

管理 Google Analytics

了解用户和衡量用户行为是 App 开发中的重要一步。不幸的是,在使用 Cordova 包装移动应用程序后,需要一些非标准工作才能使 Google Analytics 工作。在纯 Web 应用程序中设置 Google Analytics 非常容易,但 Cordova 会以某种方式阻止将浏览量和事件发送到 Google Analytics。

遵循本指南将 Google Analytics 应用到 Cordova 包装的 Quasar 应用程序中。

您可能还想阅读这些实用的教程:

WARNING

您需要在 /src/index.template.html 中包含 Google 提供的 <script> 标记,这会使您的应用程序依赖于网络连接!

前提条件

  • 确保所有路由都有明确的名称和路径参数。否则,它们不能被发布到 ga.logPage 函数。有关路由的更多信息,请参阅Routing。
  • 了解 Google Analytics 的基本知识

准备

在我们开始将 Google Analytics 应用于您的应用程序之前,您需要有 Google Analytics 和 Google Tagmanager 的帐户 。所以我们首先注册帐户。当您拥有这些帐户时,是时候配置标签管理器了。按照 Multiminds 文章中的步骤操作。

将其实施到项目中

对于本指南,我们假设您拥有发送给 Google Analytics 的固定 sessionId。 Google Analytics 使用 sessionId 来区分不同的用户。如果要创建匿名 sessionId,请参阅用户 ID 分析文档。

将标签管理器代码片段放置到您的 index.html 文件的头部(如果您已按照Multiminds 文章做了,您已经有了这个。)在您的代码库中创建一个名为 analytics.js 的新文件,内容如下:

export default {
  logEvent(category, action, label, sessionId = null) {
    window.dataLayer.push({
      appEventCategory: category,
      appEventAction: action,
      appEventLabel: label,
      sessionId: sessionId
    })
    window.dataLayer.push({ 'event': 'appEvent' })
  },

  logPage(path, name, sessionId = null) {
    window.dataLayer.push({
      screenPath: path,
      screenName: name,
      sessionId: sessionId
    })
    window.dataLayer.push({ 'event': 'appScreenView' })
  }
}

为确保您的应用中的所有网页都自动发布到 Google Analytics,我们创建了一个 boot 文件:

$ quasar new boot google-analytics [--format ts]

然后我们编辑新创建的文件: /src/boot/google-analytics.js:

import ga from 'analytics.js'

export default ({ router }) => {
  router.afterEach((to, from) => {
    ga.logPage(to.path, to.name, sessionId)
  })
}

最后,我们在 /quasar.config.js 中注册 app 启动文件。 我们可以控制只在 Cordova 的应用程序里这样做:

boot: [
  ctx.mode.cordova ? 'google-analytics' : ''
]

关于事件的更多信息可以在 Analytics documentation on events中找到。

运行应用时,您会看到事件和浏览量。 在实时视图中注册浏览量通常需要大约 5 到 10 秒的时间。