首页 > 其他分享 >谷歌统计接入

谷歌统计接入

时间:2024-08-07 16:20:53浏览次数:13  
标签:Google err 自定义 接入 谷歌 Analytics ga go 统计

一、要在go-zero项目中接入谷歌统计插件(Google Analytics),你可以按照以下步骤操作:

  1. 注册Google Analytics账号并获取跟踪ID:访问 https://analytics.google.com/ 并使用你的 Google 账户登录

  2. 在你的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)
        }
    }
  3. 在你的路由配置中使用这个中间件:
    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()
    }
  4. 如果你想跟踪更多的事件或自定义维度,可以在相应的处理函数中添加:
    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"))
    
        // 你的处理逻辑
        // ...
    }
  5. 确保你的项目依赖中包含了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 文件中添加:
    package router
    
    import (
    	"your-project/app/middleware"
    	"github.com/gogf/gf/v2/net/ghttp"
    )
    
    func init() {
    	s := g.Server()
    
    	// 全局中间件
    	s.Use(middleware.GoogleAnalyticsMiddleware)
    
    	// 其他路由配置
    	// ...
    }
    4.如果你想在特定的控制器或方法中跟踪更多的事件或自定义维度,可以在相应的方法中添加:
    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"))
    
    	// 你的处理逻辑
    	// ...
    }
    5.确保你的项目依赖中包含了 Google Analytics 客户端库:
    go get github.com/jpillora/go-ogle-analytics
    三、如果你想在模板中添加 Google Analytics 跟踪代码,可以在你的布局模板(通常是 layout.html 或类似的文件)中的 <head> 标签内添加:
    <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 等

标签:Google,err,自定义,接入,谷歌,Analytics,ga,go,统计
From: https://www.cnblogs.com/lwhzj/p/18347217

相关文章

  • Java实现字符串中字符出现次数统计
    在编程过程中,我们经常需要对字符串进行处理。今天,我将为大家分享一个Java示例,用于统计字符串中每个字符出现的次数。让我们一起来看看吧!在日常生活中,我们经常会遇到需要统计字符串中字符出现次数的场景。例如,统计一篇文章中各个字母的出现次数,以便进行词频分析。本文将带大家......
  • (全网最详细的可运行的人流统计程序)基于OpenCV的实时视频处理系统
    OpenCV人脸检测OpenCV提供了多种人脸检测方法,包括基于Haar级联的传统方法和基于深度学习的现代方法。Haar级联是一种经典的机器学习算法,适用于实时应用,因为它可以快速处理图像。级联(Cascade)结构:Cascade分类器由多个简单的分类器组成,这些分类器按照一定的顺序级联起来。每个......
  • 最佳实践:解读GaussDB(DWS) 统计信息自动收集方案
    摘要:现在商用优化器大多都是基于统计信息进行查询代价评估,因此统计信息是否实时且准确对查询影响很大,特别是分布式数据库场景。本文详细介绍GaussDB(DWS)如何实现了一种轻量、实时、准确的统计信息自动收集方案。本文分享自华为云社区《【最佳实践】GaussDB(DWS)统计信息自动收......
  • 织梦dede中怎么统计栏目文章数
    在include/common.func.php最下面也就是?>前加入以下代码代码如下:functionGetTotalArc($tid){global$dsql;$sql=GetSonIds($tid);$row=$dsql->GetOne("Selectcount(id)asddFromdede_archiveswheretypeidin({$sql})");return$row[&#39;dd&#39;]......
  • 13. 统计各种字符数量
    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。代码:#include<stdio.h>#include<stdlib.h>voidtest(){floatscore;printf("请输入您的分数:");scanf("%f",&score);printf("您的等级是:");if(score>......
  • 2002-2024年各省新质生产力词频统计(ZF工作报告关键词词频)
    2002-2024年各省新质生产力词频统计(ZF工作报告关键词词频)1、时间:2002-2024年2、来源:ZF工作报告3、指标:行政区划代码、年份、地区、所属地域、长江经济带、文本总长度、仅中英文-文本总长度、文本总词频-全模式、文本总词频-精确模式、词频和、新质生产力、人工智能、科技创......
  • SemanticKernel/C#:实现接口,接入本地嵌入模型
    前言本文通过Codeblaze.SemanticKernel这个项目,学习如何实现ITextEmbeddingGenerationService接口,接入本地嵌入模型。项目地址:https://github.com/BLaZeKiLL/Codeblaze.SemanticKernel实践SemanticKernel初看以为只支持OpenAI的各种模型,但其实也提供了强大的抽象能力,可以通过......
  • 使用普罗米修斯API统计服务宕机时间
    使用/api/v1/query?query=mysql_global_status_uptime&time=查询服务上次启动时间使用/api/v1/query_rangeStringquery="mysql_global_status_uptime{instance=\""+startDTO.getInstance()+"\"}";查询某段时间内服务的数据变化通过60秒和1秒的step来分析出服务......
  • 无法从谷歌浏览器中抓取链接
    我的代码正在打开选项卡,搜索主题并关闭,但它没有向我发送它应该收集的链接。fromseleniumimportwebdriverpesquisa=input("oquevocêquerpesquisar:")defget_results(search_term):url="https://www.startpage.com"driver=webdriver.Chrome()......
  • 5G NR: 两步随机接入流程(Release-16)-1
    一、引言RA流程可以采取两种不同的形式:基于竞争的随机接入(CBRA)和无竞争的随机接入(CFRA)。NR-Release15中采用的CBRA流程是一个四步流程(Msg1,Msg2,Msg3和Msg4)。在四步CBRA程序中,在发送PRACH前导码(Msg1)后,UE应等待来自网络的RA响应(Msg2),然后发送PUSCH(Msg3)。在接收到Msg3后,网......