日志服务支持 Web Tracking 功能,通过 OpenAPI 的 Web Tracking 接口采集多种移动端平台的日志数据,包括 HTML、iOS、Android 等平台。本文档介绍为日志主题开启 Web Tracking 功能,并采集日志数据到服务端的操作步骤。
轻量级的埋点采集场景中,通常需要快速完成埋点设置和数据上报的工作。例如某些营销活动中,需要快捷的手段满足用户行为和浏览数据的采集和上报,包括用户的设备与浏览器信息、浏览行为记录、特定内容的停留时间等等。Web Tracking 技术也称为 Tracking Pixel,您可以在页面上嵌入一个 0 Pixel 图片,该图片默认对用户不可见,当访问该页面显示加载图片时,会顺带发起一个 Get 请求到服务端,这个时候就会把参数传给服务端。
日志服务通过 Web Tracking 功能提供轻量级的日志采集方案,通过 HTTP Get 请求将数据上传到日志服务的服务端,支持浏览器、JS、Image 等标签埋点,适用于各种无需任何验证的静态网页、广告投放、宣传资料和移动端数据采集。
通过 WebTracking 接口写入日志数据时,日志服务默认在原始日志中增加以下预留字段:
预留字段 | 说明 |
---|---|
clientAddr | 通过 Webtracking 方式写入日志时,记录日志数据源端的 IP 地址及端口号。 |
User-Agent | 访问终端名称。 |
referer | 访问页面来源。 |
您可以通过控制台方式为指定日志主题开启 Web Tracking 功能,成功开启后才能通过 Web Tracking 采集日志。
开通 Web Tracking 后,您可以通过以下方式上传日志到指定日志主题中。
日志服务浏览器 JavaScript SDK 提供 send()
等方法用于上传日志数据,您可以参考浏览器 JavaScript SDK 文档安装必要的依赖,并调用接口发起请求。同时,日志服务在 GitHub 中提供了浏览器 JavaScript SDK 的示例项目供您参考。
您可以在页面上通过 img 标签嵌入一个 0 Pixel 图片,该图片默认对用户不可见,当访问该页面显示加载图片时,会顺带发起一个 GET请求到服务端,此时 <img>
中的数据就会被发送到日志服务指定日志主题中。
例如在页面中嵌入以下 img 标签:
<img src='http://${host}/WebTrack.gif?ProjectId=testproject&TopicId=newtopic&key1=value1&key2=value2'/> <img src='http://${host}/WebTrackUa.gif?ProjectId=testproject&TopicId=newtopic&key1=value1&key2=value2'/>
其中:
${host}
为日志服务的公网服务地址,各地域的服务地址请参考服务地址。WebtrackUa.gif
为固定名称,此图片除了上传自定义的参数外,还会将 HTTP Header 中的访问终端名称(UserAgent)、页面来源(referer)也作为日志中的字段上传到日志服务。您可以通过 HTTP GET 请求的方式调用 WebTrack 接口,向指定日志主题上传日志数据。
请求示例:
curl --request GET 'http://${host}/WebTrack?ProjectId=abc&TopicId=def&key1=val1&key2=val2'
请求参数:
参数 | 是否必填 | 说明 |
---|---|---|
${host} | 是 | 日志服务所在地域的 Endpoint。更多信息,请参见服务地址。 |
ProjectId | 是 | 日志项目 ID。 |
TopicId | 否 | 日志主题 ID。 |
key1=val1&key2=val2 | 是 | 键值对形式(Key-Value)的日志数据。多个键值对之间通过 说明 请确保日志数据总长度小于 16 KiB。 |
如果请求的数据量比较大,可以使用 POST 方法调用 WebTrack 接口上传数据。更多信息,请参见 WebTracks。