跳转至

SDK 初始化

本文用于承载 C++ SDK 初始化、基础配置与运行时能力相关内容。

引用头文件

#include "datakit-sdk-cpp/FTSDKFactory.h"

初始化 SDK

auto sdk = FTSDKFactory::get();
sdk->init();
字段 类型 必须 说明
FTSDKFactory::get string 指定配置文件,默认为 ft_sdk_config.json

启动 JSON 文件配置

可以通过 FTSDKFactory 使用 JSON 文件启动 SDK 调试日志。

{
  "general_config": {
    "enable_sdk_log": true
  }
}

enable_sdk_log 用于开启调试日志,默认关闭。

基础配置

FTSDKConfig gc;
gc.setServerUrl("http://10.0.0.1:9529")
  .setEnv(EnvType::PROD)
  .addGlobalContext("custom_key", "custom_value")
  .setEnableFileDBCache(true);
sdk->install(gc);
字段 类型 必须 说明
setServerUrl string DataKit 访问 URL 地址,例如 http://10.0.0.1:9529,端口默认 9529。安装 SDK 的设备必须可访问该地址
setEnv enum 环境配置,默认 EnvType::PROD
setAppVersion string Windows 会默认获取,Linux 需要自行赋值
setEnableFileDBCache bool 是否开启本地数据库缓存,默认为 false
addGlobalContext dictionary 添加 SDK 全局属性,规则请阅读 自定义标签冲突字段说明
setServiceName string 影响 Log 和 RUM 中 service 字段数据。Windows 默认为 df_rum_windows,Linux 默认为 df_rum_linux

用户信息绑定与解绑

/**
 * 绑定用户数据
 *
 * @param config 用户数据
 */
FTSDK&& bindUserData(UserData& config);

/**
 * 解绑用户数据
 */
void unbindUserData();

示例:

UserData uc;
uc.init("username", "1001", "someone@email.com");
uc.addCustomizeItem("ft_key", "ft_value");
sdk->bindUserData(uc);

sdk->unbindUserData();

addCustomizeItem 的字段命名建议同样遵循 冲突字段说明

运行时能力

关闭 SDK

sdk->deinit();

调用 deinit() 后会执行资源清理操作。若应用进程仍需继续采集,请重新完成初始化与配置。

文档评价

文档内容是否对您有帮助? ×