下图为您概要介绍 SDK 集成相关文档的组织思路,您可参考以下导读示意图了解文档结构,查阅对应文档完成 集成操作。
在进行 SDK 集成前,您需结合您的业务分析情况先进行埋点规划,明确出待分析的业务指标中可能需要埋点的事件有哪些、属性有哪些等。进行埋点规划时,您需了解一些基本概念和 DataFinder 为您预置提供的埋点事件和属性、DataFinder 的用户标识逻辑等前置信息,结合 DataFinder 为您提供的能力进行埋点规划。
基本概念 | 概念说明 | 埋点规划与 SDK 集成要点 | 详细指导文档 |
|---|---|---|---|
事件、事件属性、事件公共属性、用户属性 | DataFinder 的用户行为数据分析是基于事件+用户模型的分析模型。
| 您需根据业务分析需要,规划好待采集的事件、事件属性、用户属性有哪些、类型是什么,进行 SDK 集成时 | 详细概念介绍请参见数据模型。 |
埋点、全埋点、自定义埋点 |
| 通常建议您结合 DataFinder 提供的预置事件/属性和自定义埋点进行埋点规划。 |
进行埋点规划时,您需明确清楚需采集上报的事件、属性的数据格式要求,以及采集上报的一些限制要求,避免后续因为数据格式等不满足要求,进而导致数据采集后无法入库、后续无法查询分析。
SDK上报的数据通常有固定的格式,主要包括 header、事件两个部分。
字段 | 作用 | 数据示例 |
|---|---|---|
header | 存放事件公共属性。 | 具体请参考相应原生端SDK上报的数据结构。 |
事件 | 存放事件及事件属性。 |
其中,需要上报自定义事件、自定义属性时,您需确保事件和属性的数据格式符合要求,当前 DataFinder 支持的数据格式要求和数据上报的限制请参见支持的数据格式与事件/属性分类。
常见问题:
进行埋点规划时,您需要了解 DataFinder 的用户标识逻辑,用于结合自身业务的用户标识逻辑进而最终统一用户的标识数据来源。DataFinder 默认以用户作为统计分析的对象,默认使用 SSID 作为用户唯一标识 ID 来计算指标,此时用户的 SSID 就是默认的统计口径。当您的分析对象为用户时,建议保持默认统计口径 SSID,DataFinder 可通过 ID_Mapping 将用户的device_id、user_unique_id 等进行 mapping 后,尽量通过一个 SSID 还原一个真实的用户个体。
三类 ID 的 mapping 逻辑和更多关于用户标识的介绍详情请参见支持的用户唯一标识。
说明
如上文所述,大部分业务分析场景中,您需要结合自身业务特性进行自定义埋点的规划和集成,在此之前,您可以先了解下当前 DataFinder 已为您提供的预置事件、预置属性有哪些,结合已有的预置事件和属性能力,进一步规划自定义代码埋点的需求。
完成埋点规划后,建议您根据规划将埋点需求创建再 DataFinder 的需求管理页面,并将自定义埋点先录入 DataFinder 完成自定义埋点在 DataFinder 元数据的入库。
在开始集成前,首先需要在集团中拥有一个应用,进行SDK集成前,您需要获取对应应用的appid、app key、schema等信息。
私有化场景下您可以在「项目中心」->「项目管理」->「项目详情」-> 接入应用的「详情」->「应用ID」中可查看您的appid、app key、schema,详情请参见项目详情与应用列表。
进行数据接入上报时,您需要根据当前的环境类型和端类型确认您的数据上报地址。如果上报地址设置错误,后续会导致您无法正常上报、查询到数据。
私有化部署场景下,您需要获取部署私有化环境时,自行规划配置的数据上送地址。如您不清楚此地址,请联系您的项目经理或客户成功经理。
说明
采集本质上是依靠原生端SDK的采集能力的,Flutter插件只是Method Channel的实现,用来调用原生端SDK的API,所以您需要同时添加Flutter插件和原生端依赖。
目前Flutter插件rangers_applog_flutter_plugin最新版本1.5.0,支持Flutter平台3.x版本。
使用Flutter插件以及原生端依赖,具体操作如下:
在 Flutter 项目的 pubspec.yaml 中添加 rangers_applog_flutter_plugin 依赖
dependencies: # ... rangers_applog_flutter_plugin: 1.5.0
执行安装
flutter packages get
说明
详细配置请参考iOS SDK集成文档中step1:添加SDK所需依赖部分,这边只列出关键部分以示例。
在Podfile中,添加source源,并引入SDK,并执行pod install --repo-update更新Pods。
source 'https://github.com/volcengine/volcengine-specs.git' # target 'TestDemo' do # ... pod 'RangersAppLog', '6.17.3', :subspecs => [ 'Core', 'UITracker' ] # end
说明
详细配置请参考Android SDK 集成 文档中step1:添加SDK所需依赖部分,这边只列出关键部分以示例。
关键步骤为添加火山仓库依赖,并添加SDK依赖这两个部分,此部分的操作流程在各个环境中一致,要点如下。
添加火山仓库依赖
Gradle 7.0 及以下 | Gradle 7.0 以上 |
|---|---|
在根目录级别的 build.gradle 中添加 maven 仓库
| 在根目录级别的 setting.gradle 中添加 maven 仓库
|
添加 SDK 依赖:在 App 级别下 build.gradle 文件的 dependencies 中 引入 SDK。
// 在 App 级别下 build.gradle 文件的 dependencies 中 引入 SDK,集成 All 版本,推荐此版本 implementation 'com.bytedance.applog:RangersAppLog-All-cn:6.17.1' // 如您不需要全埋点采集、圈选、web 打通等功能,仅需要自定义埋点,可集成 Lite 版本: // 在 App 级别下 build.gradle 文件的 dependencies 中引入SDK,集成Lite版本 implementation 'com.bytedance.applog:RangersAppLog-Lite-cn:6.17.1'
说明
注意
鸿蒙原生端SDK暂时未发布到华为官方仓库,您需要联系火山引擎技术支持人员获取离线包。
关键步骤为添加必要权限、添加SDK依赖这两个部分,此部分的操作流程在各个环境中一致,要点如下。
添加必要权限。
在oh-package.json5文件中添加 | 在module.json5中添加必要的权限 |
|---|---|
|
|
在鸿蒙原生工程添加插件(一般安装依赖后会自动link上,需要自己检查一下)。
// GeneratedPluginRegistrant.ets import RangersApplogFlutterPlugin from 'rangers_applog_flutter_plugin'; export class GeneratedPluginRegistrant { static registerWith(flutterEngine: FlutterEngine) { try { // ... // 这里添加RangersApplogFlutterPlugin flutterEngine.getPlugins()?.add(new RangersApplogFlutterPlugin()); } catch (e) { // ... } } }
注意
其他端暂时未开放或未支持,如有需求,请联系火山引擎技术支持人员沟通。
以下示例,为您逐步演示大部分场景下初始化SDK的代码接入。
操作指导 |
|---|
|
根据埋点规划,如果需要采集上报自定义事件,您可以使用“onEventV3”设置自定义事件名和事件属性。
操作指导 |
|---|
|
如果需要设置用户登录态,可以使用setUserUniqueId 方法设置 user_unique_id 属性。
通常对于需要用户实名登录时,业务上会使用一个 ID 来唯一标识这个用户,您可以通过 setUserUniqueId 方法上报对应的业务的用户标识 ID。通常这个取值可以通过业务接口获取,或者直接读取已有的固定用户标识 ID 值。如果您需要了解 DataFinder 的用户标识逻辑,详情请参见支持的用户唯一标识。
操作指导 |
|---|
|
目前可以参考各个原生端的验证方式。
详情请参见事件公共属性。
详情请参见user_unique_id、用户属性相关。
详情请参见全埋点场景。
更多场景实践请参见Flutter SDK 集成场景实践。
完成初始化验证后,您可以在客户端进行测试操作,触发一些待采集上报的事件,测试事件上报后,大约15分钟内,您可以在增长分析平台中的用户细查页面查看具体用户行为流数据,即能看到测试事件及事件属性数据,用于验证埋点数据是否可正常采集上报。
user、header、events三个部分,分别展示采集上报的用户属性数据、公共事件属性属性、事件及事件属性数据,上报的数据包含了开启采集的预置和自定义的数据。DataFinder为您提供了丰富的API接口,除了上述通用流程中介绍的核心接口和典型场景的使用示例外,您也可以了解当前iOS 支持的主要API接口和其作用,根据业务需求可灵活调用对应接口完成业务数据埋点。
分类 | API列表 | API说明 |
|---|---|---|
主要API | 初始化SDK | |
支持添加额外的一些初始化设置项,目前支持 | ||
当通过addInitParams设置autoStart为false的情况下,需要主动调用start方法告知SDK开始上报事件 | ||
设置用户登录态,在初始化之后设置user_unique_id值,SDK会保存,因此只需要发生变化的时候设置 | ||
上报事件,在初始化之后设置才能调用 | ||
设置自定义的公共属性 | ||
移除自定义的公共属性 | ||
获取平台ID | ||
模块API | SDK提供AB实验能力,并提供了一系列的方法:getAbSdkVersion、getAllAbTestConfig、getABTestConfigValueForKey | |
提供设置用户属性能力,并提供了一系列的方法:profileSet、profileSetOnce、profileUnset、profileIncrement、profileAppend |