一、要在go-zero项目中接入谷歌统计插件(Google Analytics),你可以按照以下步骤操作:
-
注册Google Analytics账号并获取跟踪ID:访问 https://analytics.google.com/ 并使用你的 Google 账户登录
- 在你的go-zero项目中添加中间件来集成Google Analytics:
package middleware import ( "net/http" "github.com/zeromicro/go-zero/rest" "github.com/zeromicro/go-zero/core/logx" ga "github.com/jpillora/go-ogle-analytics" ) func GoogleAnalyticsMiddleware(next http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { client, err := ga.NewClient("UA-XXXXXXXX-X") // 替换为你的跟踪ID if err != nil { logx.Error(err) next(w, r) return } // 发送页面浏览事件 err = client.Send(ga.NewPageview(r.URL.Path, r.URL.Host, r.URL.Path)) if err != nil { logx.Error(err) } next(w, r) } }
- 在你的路由配置中使用这个中间件:
import ( "github.com/zeromicro/go-zero/rest" "your-project/middleware" ) func main() { server := rest.MustNewServer(rest.RestConf{ Port: 8888, }) defer server.Stop() server.Use(middleware.GoogleAnalyticsMiddleware) // 添加你的路由 // ... server.Start() }
- 如果你想跟踪更多的事件或自定义维度,可以在相应的处理函数中添加:
func YourHandler(w http.ResponseWriter, r *http.Request) { client, _ := ga.NewClient("UA-XXXXXXXX-X") // 发送自定义事件 client.Send(ga.NewEvent("Category", "Action", "Label", 1)) // 发送自定义维度 client.Send(ga.NewEvent("Category", "Action").Custom(1, "CustomDimension")) // 你的处理逻辑 // ... }
- 确保你的项目依赖中包含了Google Analytics客户端库:
go get github.com/jpillora/go-ogle-analytics
这样,你就可以在go-zero项目中集成Google Analytics,跟踪页面访问、自定义事件等数据。记得替换跟踪ID为你自己的ID,并根据需要自定义要跟踪的事件和维度。
注意:使用Google Analytics时,请确保遵守相关的隐私政策和数据保护法规,如GDPR等。
二、gfast框架按照以下步骤操作:
1.首先,确保你已经有了 Google Analytics 的跟踪 ID。
2.在 GFast 项目中创建一个中间件来处理 Google Analytics 的集成:package middleware import ( "github.com/gogf/gf/v2/net/ghttp" ga "github.com/jpillora/go-ogle-analytics" ) func GoogleAnalyticsMiddleware(r *ghttp.Request) { client, err := ga.NewClient("UA-XXXXXXXX-X") // 替换为你的跟踪 ID if err != nil { r.Middleware.Next() return } // 发送页面浏览事件 err = client.Send(ga.NewPageview(r.URL.Path, r.GetHost(), r.URL.Path)) if err != nil { // 处理错误,可以选择记录日志 } r.Middleware.Next() }
3.在你的路由配置中使用这个中间件。通常,你可以在router/router.go
文件中添加:
4.如果你想在特定的控制器或方法中跟踪更多的事件或自定义维度,可以在相应的方法中添加:package router import ( "your-project/app/middleware" "github.com/gogf/gf/v2/net/ghttp" ) func init() { s := g.Server() // 全局中间件 s.Use(middleware.GoogleAnalyticsMiddleware) // 其他路由配置 // ... }
5.确保你的项目依赖中包含了 Google Analytics 客户端库:func (c *YourController) YourMethod(r *ghttp.Request) { client, _ := ga.NewClient("UA-XXXXXXXX-X") // 发送自定义事件 client.Send(ga.NewEvent("Category", "Action", "Label", 1)) // 发送自定义维度 client.Send(ga.NewEvent("Category", "Action").Custom(1, "CustomDimension")) // 你的处理逻辑 // ... }
三、如果你想在模板中添加 Google Analytics 跟踪代码,可以在你的布局模板(通常是 layout.html 或类似的文件)中的 <head> 标签内添加:go get github.com/jpillora/go-ogle-analytics
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-X"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-XXXXXXXX-X'); </script>
记得将
UA-XXXXXXXX-X
替换为你的实际跟踪 ID。这样,你就可以在 GFast 框架中集成 Google Analytics,跟踪页面访问、自定义事件等数据。根据需要,你可以进一步自定义要跟踪的事件和维度。
注意:使用 Google Analytics 时,请确保遵守相关的隐私政策和数据保护法规,如 GDPR 等