去的分析


我们的Go库可以让你记录分析数据从你的Go代码。这些请求会到达我们的服务器,然后我们会将您的数据发送到您在目的地页面上启用的任何分析服务。

这个库是开源的,所以你可以在github上看看

所有Segment的服务器端库都是为高性能构建的,所以你可以在你的web服务器控制器代码中使用它们。这个库使用一个可调的缓冲区来批处理消息,该缓冲区针对吞吐量和减少的网络活动进行了优化。

开始

安装包

安装分析 - 去吧使用去弄:

Go Get Gopkg.in/segingio/analytics-go.v3.

然后导入它并使用源代码初始化一个实例写钥匙。当然,你会想要替换your_write_key.有你的实际写钥匙你可以在你的源设置下的片段中找到。

包裹主要的进口“gopkg.in/secmentio/analytics-go.v3”fun主要的(){客户:=分析(“your_write_key”)推迟客户关闭()//使用客户端。}

这将创造一个客户您可以用来将数据发送到源的段。

默认初始化设置为生产就绪,在发送批处理请求之前将20条消息排队,间隔5秒。

识别

很高兴知道对于本页中描述的任何不同方法,您可以用代表所收集数据的变量替换代码示例中的属性和特征。

识别允许您将用户绑定到他们的行为和记录它们的特征。它包括一个唯一的用户ID和您对其了解的任何可选性状。

我们建议致电识别当用户的账户第一次创建时,只有当他们的特征改变时才会再次识别。

例子识别称呼:

客户征服(分析识别{用户身份:“019MR8MF4R”,特征:分析NewTraits()SetName(“迈克尔·博尔顿”)etemail.(“mbolton@example.com”)(“计划”,“企业”)(“朋友们”,42.),})

这个电话是通过Michael的唯一用户ID(您在数据库中通过该用户ID认识他)来识别Michael并给他贴上标签名称,电子邮件,计划朋友们特质。

识别呼叫有以下字段:

用户标识字符串 数据库中此用户的ID。
特征特征,可选 一本你了解用户特点的字典。喜欢的东西:电子邮件,名称或者朋友们

查找详情识别方法有效载荷在我们的规格

追踪

跟踪允许您录制用户执行的操作。每次操作都会触发我们所谓的“事件”,它也可以具有关联属性。

您需要跟踪对您网站成功指标的事件,如签约,商品购买或者书签条

为了开始,我们建议只跟踪几个重要的事件。您可以随时添加更多!

例子跟踪称呼:

客户征服(分析追踪{用户身份:“f4ca124298”,事件:“注册”,特性:分析NewProperties()(“计划”,“企业”),})

这个例子跟踪通话告诉我们,您的用户刚触发了签约事件选择“企业”计划。

跟踪事件属性可以是您想要录制的任何内容。在这种情况下,计划类型。

跟踪呼叫有以下字段:

事件字符串 您正在跟踪的事件的名称。我们建议人类可读名称歌曲播放或者状态更新
特性属性,可选 事件属性字典。如果事件是加产品,它可能有属性价格或者产品

查找详情活动命名的最佳实践以及跟踪方法有效载荷在我们的规格

方法允许您在网站上录制页面视图,以及有关正在查看的页面的可选额外信息。

如果你使用我们的客户端设置与Go库结合使用,页面呼叫已为您跟踪默认情况下。但是,如果您想手动记录自己的页面视图,并且不使用我们的客户端库,请继续阅读!

例子称呼:

客户征服(分析{用户身份:“f4ca124298”,名称:“去图书馆”,特性:分析NewProperties()塞图尔(“//www.asianminres.com/libraries/go/”),})

呼叫有以下字段:

名称字符串 你正在追踪的网页名称。我们建议人类可读名称登录或者注册
特性属性,可选 页面访问的属性词典。如果页面是登录,它可能有属性小路或者标题

查找详情有效载荷在我们的规格

团体

团体让您关联识别用户与一个群体。一组可以是公司,组织,帐户,项目或团队新万博app2.0下载!它还让您录制关于该组的自定义特征,如行业或员工数量。

这对工具有用对讲机,罚款Totango,因为它将用户联系在一起团体其他用户。

例子团体称呼:

客户征服(分析团体{用户身份:“019MR8MF4R”,GroupId:“56”,特征:地图(细绳]接口{} {“名称”:“Initech”,“描述”:“会计软件”,},})

团体呼叫有以下字段:

Groupid.字符串 数据库中此组的ID。
特征特征,可选 您了解该组织的特征词典。喜欢的东西:名称或者网站

浏览有关团体包括团体有效载荷在我们的规格

别名

别名就是你如何把一个身份和另一个身份联系起来。这是一种先进的方法,但是需要它来成功地管理用户身份一些我们的目的地。

mixpanel.它用于将一个匿名用户与一个已确认的用户在注册后关联起来。为亲吻,如果您的用户切换id,您可以使用' alias '来重命名' userId '。

例子别名称呼:

客户征服(分析别名{上一个:“anonymousUser”,用户身份:“019MR8MF4R”,})

别名呼叫有以下字段:

用户身份细绳 数据库中此用户的ID。
上一个细绳 以前的ID到别名。

这是我们如何使用的完整示例别名称呼:

//匿名用户执行操作…客户征服(分析追踪{事件:“匿名活动”,用户身份:Anonymoususer.,})//匿名用户注册并别名客户征服(分析别名{上一个:Anonymoususer.,用户身份:“019MR8MF4R”,})//识别了所识别的用户客户征服(分析识别{用户身份:“019MR8MF4R”,特征:地图(细绳]接口{} {“名称”:“迈克尔·博尔顿”,“电子邮件”:“mbolton@example.com”,“计划”:“企业”,“朋友们”:42.,},})//识别的用户执行操作......客户征服(分析追踪{事件:“项查看”,用户身份:“019MR8MF4R”,特性:地图(细绳]接口{} {“物品”:“灯”,},})

有关的更多细节别名, 包括别名呼叫有效载荷,查看我们的规格


开发设置

你可以使用Batchsize.在开发期间将配置的字段设置为1,以使库在每次提交消息时刷新,以便您可以确保调用正常工作。

fun主要的(){客户,_:=分析纽约努力(“your_write_key”,分析配置{Batchsize.:1,})}

记录

详细的配置的字段控制日志记录级别,而记录器字段提供钩子以捕获日志输出:

fun主要的(){客户,_:=分析纽约努力(“your_write_key”,分析配置{详细的:真的,记录器:分析stdlogger.(日志(OS.斯德尔,“段”,日志Lstdflags.)),})}

选择目的地

别名,团体,识别,跟踪呼叫都可以通过一个对象context.integrations允许您打开或关闭某些集成。默认情况下,所有目的地都已启用。

这里有一个例子跟踪打电话给context.integrations显示的对象。

客户征服(分析追踪{事件:“会员升级”,用户身份:“019MR8MF4R”,一体化:地图(细绳]接口{} {“全部”:错误的,“mixpanel”:真的,},})

在这种情况下,我们指定了我们想要的追踪只去Vero。所有:假说除非另有说明,否则应启用任何目的地。Vero:真实打开Vero等。

目的地标志是区分大小写和匹配docs中的目的地名称(即“Adlearn开放平台”,“AWE.SM”,“MailChimp”等)。

笔记:

  • 在业务级别可用,可以从源模式页面上的段UI完成过滤跟踪呼叫。如果可能,我们建议使用UI,因为它是管理过滤器的更简单方法,并且可以在您身边未更新任何代码。

  • 如果您在祖父的计划上,则通过段仪表板过滤的服务器端发送的事件仍然会指望您的API使用情况。

历史进口

您可以通过添加来导入历史数据时间戳对您的任何方法调用的参数。如果您刚刚切换到段,这可能会有所帮助。

历史导入只能在能够接受历史时间戳数据的目的地中进行。大多数分析工具,如Mixpanel, Amplitude, Kissmetrics等都可以很好地处理这类数据。一个不接受历史数据的常见目的地是谷歌Analytics,因为它们的API不能接受历史数据。

笔记:如果你正在跟踪现在发生的事情,请留出来时间戳我们的服务器会为你记录请求的时间。

语境

您可以通过Go库以两种方式发送上下文字段。

首先,您可以设置一个全局上下文字段,该字段将设置在客户端的所有消息上。

客户,_:=分析纽约努力(“h97jamjwbh”,分析配置{defaultContext.:&分析语境{应用程序:分析appinfo.{名称:“myapp”,版本:“myappversion”,},},})

其次,您可以在特定事件上设置一个上下文字段。

客户征服(分析识别{用户身份:“019MR8MF4R”,特征:分析NewTraits()(“朋友们”,42.),语境:&分析语境{额外的:地图(细绳]接口{} {“积极的”:真的,},},})

请注意,必须设置任何自定义字段额外的场地。它们将自动环绕序列化语境结构。例如,上面的identify调用将被序列化为:

{“类型”:“确认”,“用户身份”:“019MR8MF4R”,“特征”:{“朋友们”:42.,},“背景”:{“积极的”:真的,“图书馆”:{“名称”:“分析 - 去”,“版本”:“3.0.0”}}}

批处理

我们的库是为支持高性能环境而构建的。这意味着在每秒处理数百个请求的web服务器上使用分析是安全的。

你打电话的每个方法才不是结果是一个HTTP请求,但在内存中排队。消息在后台批量刷新,这样可以更快地操作。如果批处理消息没有到达您的调试器中,也没有抛出错误,您可能想要减慢您的脚本速度。这是因为我们在go例程中运行一个消息批处理循环,因此如果脚本运行得太快,它将不会在退出循环之前执行网络调用。

默认情况下,我们的库将刷新:

  • 每20条消息(控制FlushAt)
  • 如果距离上次刷新已经过去5秒(控制为Fralhawter.)

最多有一个500KB.每个批处理请求和32KB.每一个电话。

有时您可能不想批处理(例如,在调试时或短暂的程序中)。您可以通过设置来关闭批处理FlushAt参数1,您的请求将永远立即发送。

选项

如果您讨厌默认值,则可以配置Analytics-Go有很多配置选项。你可以阅读更多godoc

版本2(已弃用)

如果您正在寻找图书馆的V2版本的文档,点击这里

从v2迁移

v3是对Go库v2版本的重写。我们推荐使用v3,因为它支持许多新特性,有显著的设计改进,并且经过了更好的测试。

V3当前在v3.0分支来最小化不使用包管理器的客户的破坏性更改。manbetx客户端应用下载您可以参考包管理器的文档来了解如何使用v3.0分支。

例如和政府主格,您将运行命令:

govendor取回github.com/segmentio/analytics-go@v3.0

或者,您也可以使用gopkg.in.。首轮Go Get Gopkg.in/segingio/analytics-go.v3.并替换您的进口导入“gopkg.in / segmentio / analytics-go.v3”

要帮助迁移代码,我们建议您查看我们写入的简单示例v2.v3所以你可以很容易地看到差异。

你注意到的第一个区别是客户端现在是一个接口。它有一个方法 -征服可以接受所有类型的消息。

跟踪:=分析追踪{事件:“下载”,用户身份:“123456”,特性:地图(细绳]接口{} {“应用”:“段桌面”,“版本”:“1.1.0”,“平台”:“osx”,},}//在v2中,您将用`track`结构调用`track`方法。客户追踪(&跟踪)//在v3中,您将使用`track`结构调用`enqueue`方法。//注意此处不使用指针。客户征服(跟踪)

其次,你会注意到有一些新的类型,比如分析.properties.Analytics.traits.。这些可用于更换地图[字符串]界面{}。它们提供类型安全性,并减少意外发送错误的字段的机会。

例如,以下两个示例在V3中具有功能性等同。

客户征服(分析追踪{用户身份:“f4ca124298”,事件:“注册”,特性:分析NewProperties()SetCategory(“企业”)(“应用”,“段桌面”),})
客户征服(分析追踪{用户身份:“f4ca124298”,事件:“注册”,特性:地图(细绳]接口{} {“类别”:“段桌面”,“应用”:“段桌面”,},})

最后,您会注意到在初始化期间提供配置,并且在初始化后无法更改。各种配置选项被记录在其中戈德

这些是在v2和v3中应用相同配置选项的示例。

// v2中的示例:客户:=分析(“h97jamjwbh”)客户间隔=30.*时间第二客户详细的=真的客户尺寸=100.//示例在v3:客户,_:=分析纽约努力(“h97jamjwbh”,分析配置{间隔:30.*时间第二,Batchsize.:100.,详细的:真的,})

v3有什么新功能

V3是一种重写我们的V2版本的Go库,具有许多新功能!

  • 新型Safe API设置属性,特征和上下文字段。这易于易于使用地图[字符串]界面{}类型(虽然你仍然可以这样做)。
客户征服(分析追踪{用户身份:“f4ca124298”,事件:“注册”,特性:分析NewProperties()SetCategory(“企业”),SetCoupon(“突触”),setdiscount.(10.),})
  • 将批次动态分割成适当大小的块以满足我们的块API大小限制。以前,您必须根据数据的大小计算批量大小来弄清楚相应的大小。

  • 改进了日志记录抽象。以前我们完全依赖标准图书馆log.logger.无法区分错误和非错误日志的类型。v3有自己的记录器可用于捕获您自己的报告目的错误的接口。适配器标准库记录器也包括在内。

  • 基于尝试次数配置重试策略的能力。

客户,_:=分析纽约努力(“h97jamjwbh”,分析配置{RetryAfter:fun(试图int)时间期间{返回时间期间(试图*10.)},})
  • 可配置所有消息的默认上下文。
客户,_:=分析纽约努力(“h97jamjwbh”,分析配置{defaultContext.:&分析语境{应用程序:分析appinfo.{名称:“myapp”,版本:“myappversion”,},},})

故障排除

如果您有问题,我们有几个技巧有助于常见问题。

调试器中没有事件

  1. 仔细检查你已经遵循了所有步骤快速开始

  2. 确保一旦库成功安装,就会调用我们的API方法之一 -识别,跟踪等。

我的最终工具中没有事件

  1. 仔细检查您的目的地的凭据。

  2. 确保您是故障排除的目标可以接受服务器端API调用。兼容性显示在目的地文档页面和段源目的地页面上的页面上的页面。

  3. 检查目的地的文件要查看是否存在使用您尝试工作的方法和目标的其他要求。

最后更改:2020年9月18日



开始使用细分

段是将网站和移动应用程序数据集成到超过300个分析和增长工具的最简单方法。
或者
创建免费帐户