在使用增长分析进行数据分析前,您需要先明确数据需求并规划数据接入方案,研发工程师根据数据接入方案完成数据接入落地。增长营销套件SDK是一款自研的埋点采集工具,用于基础数据收集与增长营销分析。本文为您介绍增长分析的数据接入能力和通用接入流程。
SDK发布日志
- SDK名称:增长营销套件SDK。
- SDK最新版本号:当前SDK版本在不断迭代发布中,您可前往Git开源页面查看各端的最新SDK版本及历史版本情况,推荐使用最新版本SDK。
- SDK发布日志:详情请参见SDK更新日志。
- SDK开发者:北京火山引擎科技有限公司。
- 主要功能:增长营销套件SDK支持采集基础数据,用于对应用的新增、激活、留存、性能等统计性指标进行分析。
隐私政策说明
数据流向说明
在进行数据接入前,您需先大致了解Finder进行数据采集前后,采集数据的类型、数据流向。
其中:
- 行为数据:即根据分析业务目标制定的数据采集方案,在对应位置进行埋点,当用户触发关键事件时,就会将事件埋点上报给后台。
- 用户数据:采集的用于唯一标识用户的用户ID相关数据,以及业务后期分析所需的用户特征相关数据。
- 设备数据:采集的用于唯一标识设备的ID数据,以及业务后期分析所需的设备特征相关数据。
通用数据接入流程
在任何一个数据采集分析项目的启动中,我们需要有完善的流程把控,保障符合预期的上线。其中研发工程师需要关注的流程为数据采集:采集方案制定与采集方案实施部分。
- 准备工作。
- 确认管理员已完成创建集团、接入增长分析应用等操作,详情请参见快速入门:管理员(SaaS-云原生版)。
- 登录DataFinder控制台,获取后续数据接入所需的应用ID等信息。
- 了解接入注意事项。
- 根据数据接入方案,明确后续需要采集上报的事件及其属性,了解预置事件及属性列表是否满足业务需求,预置事件及属性详情请参见预置属性总表。
- 如果需要自定义事件则需要了解对应事件及其属性对应的数据格式要求,详情请参见支持的数据格式与事件/属性分类。
注意
如果数据格式不符合规范,可能会导致数据接入操作正常,但后续上报的数据落库后为空或出现异常,因此您需要关注数据格式要求,例如将数值类型的属性,数据类型定义为string,可能后续数据上报候后,进行分析时会出错。
- 根据数据接入方案,了解数据接入时支持的用户标识类型,统一统计口径,详情请参见支持的用户唯一标识。
集成接入
客户端和服务端不同端的SDK集成详情请参见对应的文档。通常需要引入SDK、初始化SDK、调用SDK、验证埋点数据这几个步骤。
接入场景 | 操作指导 | demo包参考 |
---|
客户端 | …… | Finder为您提供了常见的接入端的接入demo,您可前往快速入门:开发者文档中下载并查看各端的demo包。 |
服务端 | |
数据上报&缓存策略
数据上报策略
说明
SaaS-云原生、私有化环境支持在DataFinder的控制台设置Android、iOS、web、小程序平台SDK的基础设置,包括是否开启全埋点、埋点上报时机等等。以下为端上默认的上报策略和缓存策略,您也可以在DataFinder的控制台进行配置调整,详情请参见项目管理-SDK设置。
SDK | 上报策略描述 | 是否可配置 | 是否可以根据网络环境自动调节 | 是否可以分时段上报 |
---|
Android | - SDK未初始化时,如果有事件触发(包括预置的、自定义的),会缓存在客户端内存,最多缓存300条。
- SDK初始化后,如果有事件触发(包括预置的、自定义的),是否调用了init,init 之后(默认 init 后自动 start)会落库,start之后每60s上报一次(每次最多是1600条,如果一分钟内产生超过1600条需要等下个60s再报)。
- SDK初始化后,如切换用户,立即上报一次。
| 否
每60秒触发一次上报任务,每个请求打包200个埋点,Android 每次任务最多连续上报8个请求,iOS 每次任务最多连续上报10个请求 | 否 | 否 |
iOS | - SDK未初始化不会本地缓存。
- SDK初始化后,如果有事件触发(包括预置的、自定义的),是否调用了init,init 之后(默认 init 后自动 start)会落库,start之后每60s上报一次(每次最多是2000条,如果一分钟内产生超过2000条需要等下个60s再报)。
- SDK初始化后,如切换用户,立即上报一次。
| 否 | 否 | 否 |
Web JS | 实时上报,但有大约30ms的异步队列等待时间,30ms内触发的事件条数在20条以内的话就合并为一条上报,超过20条,就按照20个一组分开上报。max_report可以设置条数。 | 可配置最大上报条数和异步队列等待时间:
max_report : 10 (事件合并上报条数默认10 )
reportTime: 30 (事件上报异步队列的时间间隔 默认30ms) | 否 | 否 |
小程序
(微信/字节/支付宝/百度/QQ等) | 默认实时上报。 - 1.x版本:支持开启enable_storage,开启后会默认每隔5秒、每次默认最多5条的方式进行上报。
- 2.5版本及以上:支持enable_buffer(缓冲)、enable_cache(缓存)。
缓冲的话:
- buffer_interval:默认5秒,可以调整
- buffer_number:默认5个,可以调整
| 可配置是否开启、间隔秒数、单次数量阈值
仅2.5.0及以上版本支持: - enable_buffer :true//开启缓冲
- buffer_interval:5000//缓冲的间隔时间,单位是毫秒,默认值 5000
- buffer_number:5//缓冲的最大数量,默认值 5
- enable_cache:true //开启缓存
| 否 | 否 |
小游戏
(微信/字节/快游戏等) | 同小程序 |
快应用 | 同小程序 |
数据缓存策略
SDK | 网络异常、崩溃等情况导致上报失败后数据处理机制 | 是否压缩 | 压缩算法 | 算法是否可定制 |
---|
Android | 埋点打包会存db(sdk初始化前产生的埋点不会存db,最多缓存300条;初始化后才会存储db。只要没杀进程之前缓存的埋点都会落库),上报成功会从db删除,上报失败不会从db删除,直到10天过期才删除,db存储量跟随手机存储空间来定。 | 是 | AES加密+gzip压缩 | 可(默认支持AES+CBC,需要跟服务端配套) |
iOS | 埋点打包会存SQLite3数据库,上报成功会从数据库删除,上报失败不会从db删除,ios不会删除本地数据,sdk没有存储限制,db存储跟随手机的硬盘大小限制。 | 是 | AES加密+gzip压缩 | 可(默认支持AES+CBC,需要跟服务端配套) |
小程序 | 默认下上报失败就失败了,在开启缓存(1.x版本参数enable_storage、2.5版本及以上参数enable_cache)的情况下,会放入本地存储等待下次进行补充上报(单个key允许存储的最大数据长度为1MB,所有数据存储上限为10MB)。 | 否 | 无 | 无 |
Web | 默认无机制,可配置开启全局
使用enable_storage:true开启全局配置,在网络异常时导致上报失败的数据会存储到localstorage中,下次访问页面时会优先检查localstorage中的数据,如有则发送。(缓存限制条数默认不超过50条,可使用storage_num参数进行配置限制条数) | 否 | 无 | 无 |