簡體   English   中英

如何在Grails中實現(唯一)頁面查看跟蹤?

[英]How to implement (unique) page views tracking in Grails?

在我的應用程序中,我有不同的頁面,用戶可以與之交互。 我需要的是以下內容。 我想跟蹤:

  1. 每頁有多少用戶?
  2. 每頁有多少個唯一身份用戶?

我想在沒有谷歌分析的情況下跟蹤數據,因為我想自己分析數據。

使用Grails過濾器:

class TrackingFilters {
    def trackingService

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

UPDATE Grails過濾器是一段代碼,您可以在請求之前和之后執行grails。 您可以使用修改器指定哪些控制器以及哪些操作受到影響。

您可以使用命令grails create-filters example.Tracking創建過濾器

您選擇的名稱僅限於您。

然后你可以在tyhis生成的骨架類中定義一個過濾器,(我創建了“訪問”過濾器,適用於所有控制器和動作)

在過濾器內部,您可以訪問請求和會話,因此您應該能夠使用此上下文來跟蹤您的用戶,例如:

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

要完全迂腐:trackingService是您實施的假設服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM