私のアプリには、ユーザーが操作できるさまざまなページがあります。私が必要とするのは次のとおりです。追跡したい:
- 各ページには何人のユーザーがいますか?
- 各ページのユニーク ユーザー数は?
自分でデータを分析したいので、Google アナリティクスを使わずにデータを追跡したい。
私のアプリには、ユーザーが操作できるさまざまなページがあります。私が必要とするのは次のとおりです。追跡したい:
自分でデータを分析したいので、Google アナリティクスを使わずにデータを追跡したい。
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 を使用してフィルターを作成します。
あなたが選ぶ名前はあなただけのものです。
次に、生成されたスケルトン クラスでフィルターを定義できます (すべてのコントローラーとアクションに適用する「アクセス」フィルターを作成しました)。
フィルター内でリクエストとセッションにアクセスできるため、このコンテキストを使用してユーザーを追跡できるはずです。次に例を示します。
request.getRemoteAddr()
request.getHeader("X-Forwarded-For")
request.getHeader("Client-IP")
完全に衒学的に言うと、trackingService はあなたによって実装された架空のサービスです。