版本兼容

  • SDK 符合 ANSI C99 规范,部分功能依赖 POSIX 库,不依赖第三方库

1. C SDK 使用说明

在使用前,请先阅读 数据模型 的介绍

2. 集成神策分析 SDK

开发者可以在 C 程序中集成 神策分析 SDK,使用神策分析采集并分析用户数据。

从 GitHub 下载 神策分析 SDK 的源代码,可在本地编译,通过静态库的形式加入项目中,也可以直接将源文件引入项目中。SDK 源代码包括:

./LICENSE
./Makefile                // Makefile
./sensors_analytics.h     // SDK 头文件
./sensors_analytics.c     // SDK 源文件
./demo.c                  // Demo 程序,使用 LoggingConsumer 将日志文件输出到本地磁盘
CODE

开发者编译 SDK 后,会生成静态库:

./output/include/sensors_analytics.h
./output/lib/libsensorsanalytics.a
CODE

开发者通过 C SDK 在程序中记录用户行为数据。SDK 将格式化的行为数据以日志文件的形式输出到本地磁盘文件中,开发者需要通过神策分析的 LogAgent 工具 将日志文件传输到神策分析中。LogAgent 工具 保证日志传输的时效性和完整性。

3. 初始化神策分析 SDK

在程序中使用

// 初始化神策分析对象
//
//  @param consumer<in>         日志数据的 “消费” 方式
//  @param sa<out>              初始化的神策分析实例
//
// @return SA_OK 初始化成功,否则初始化失败
int sa_init(struct SAConsumer* consumer, struct SensorsAnalytics** sa);
CODE

初始化神策分析实例,通过它实现 SDK 各项功能。其中第一个参数 consumer 对象负责 “消费” 用户行为日志,在程序中使用

// 初始化 Logging Consumer
//
//  @param file_name<in>    日志文件名,例如: /data/logs/http.log
//  @param consumer<out>    SALoggingConsumer 实例
//
// @return SA_OK 初始化成功,否则初始化失败
int sa_init_logging_consumer(const char* file_name, SALoggingConsumer** consumer);
CODE

初始化 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);
CODE