0

在我的应用程序上,我有不同的页面供用户交互。我需要的是以下内容。我想跟踪:

  1. 每个页面有多少用户?
  2. 每个页面上有多少个唯一用户?

我想在没有谷歌分析的情况下跟踪数据,因为我想自己分析数据。

4

1 回答 1

2

使用 Grails 过滤器:

class TrackingFilters {
    def trackingService

    def filters = {
        access(controller: '*', action: '*') {
            before = {
                if (!session.user) {
                    trackingService.trackIpAddress(getIpAddress())
                } else {
                    trackingService.trackUser(session.user)
                }
            }
        }
    }
}

更新 Grails 过滤器是您可以让 grails 在请求之前和之后执行的代码片段。您可以使用修饰符指定哪些控制器以及哪些操作会受到影响。

您可以使用命令 grails create-filters example.Tracking 创建过滤器

你选择的名字是你一个人的。

然后你可以7在tyhis生成的骨架类中定义一个过滤器,(我创建了“访问”过滤器,应用于所有控制器和动作)

在过滤器中,您可以访问请求和会话,因此您应该能够使用此上下文来跟踪您的用户,例如:

request.getRemoteAddr()
request.getHeader("X-Forwarded-For")
request.getHeader("Client-IP")

完全迂腐:trackingService 是您实现的假设服务。

于 2013-06-03T08:09:56.127 回答