版本兼容
- SDK 符合 ANSI C99 规范,部分功能依赖 POSIX 库,不依赖第三方库
SDK 使用说明
在使用前,请先阅读 数据模型 的介绍。
集成神策分析 SDK
开发者可以在 C 程序中集成 神策分析 SDK,使用神策分析采集并分析用户数据。
从 GitHub 下载 神策分析 SDK 的源代码,可在本地编译,通过静态库的形式加入项目中,也可以直接将源文件引入项目中。SDK 源代码包括:
./LICENSE
./Makefile // Makefile
./sensors_analytics.h // SDK 头文件
./sensors_analytics.c // SDK 源文件
./demo.c // Demo 程序,使用 LoggingConsumer 将日志文件输出到本地磁盘
开发者编译 SDK 后,会生成静态库:
./output/include/sensors_analytics.h
./output/lib/libsensorsanalytics.a
开发者通过 C SDK 在程序中记录用户行为数据。SDK 将格式化的行为数据以日志文件的形式输出到本地磁盘文件中,开发者需要通过神策分析的 LogAgent 工具 将日志文件传输到神策分析中。LogAgent 工具 保证日志传输的时效性和完整性。
初始化神策分析 SDK
在程序中使用
// 初始化神策分析对象
//
// @param consumer 日志数据的 “消费” 方式
// @param sa 初始化的神策分析实例
//
// @return SA_OK 初始化成功,否则初始化失败
int sa_init(struct SAConsumer* consumer, struct SensorsAnalytics** sa);
初始化神策分析实例,通过它实现 SDK 各项功能。其中第一个参数 consumer 对象负责 “消费” 用户行为日志,在程序中使用
// 初始化 Logging Consumer
//
// @param file_name 日志文件名,例如: /data/logs/http.log
// @param consumer SALoggingConsumer 实例
//
// @return SA_OK 初始化成功,否则初始化失败
int sa_init_logging_consumer(const char* file_name, SALoggingConsumer** consumer);
初始化 SALoggingConsumer 实例,它负责将用户行为日志输出到本地磁盘。
// 初始化 SALoggingConsumer 实例
SALoggingConsumer* consumer = NULL;
if (SA_OK != sa_init_logging_consumer("./demo.out", &consumer)) {
fprintf(stderr, "Failed to initialize the consumer.");
return 1;
}
SensorsAnalytics *sa = NULL;
if (SA_OK != sa_init(consumer, &sa)) {
fprintf(stderr, "Failed to initialize the SDK.");
return 1;
}
// ... 使用神策分析进行各种操作
// 将本地缓存的数据同步到文件或 Sensors Analtycis 中
sa_flush(sa);
// 释放 Sensors Analtycis 实例
sa_free(sa);