版本兼容
- SDK 依赖 LuaJIT,目前支持的版本为 LuaJIT-2.1.0-beta3 和 LuaJIT-2.0.5
目前 SDK 只能应用于 Linux 环境
- SDK 依赖 神策分析 C SDK(项目中的 libSensorsAnalyticsC.so 为 Linux 平台下基于 C SDK v0.2.0 版本的动态库)
SDK 使用说明
在使用前,请先阅读 数据模型 的介绍。
集成神策分析 SDK
首先集成神策分析 C SDK 在 Linux 平台(Lua SDK 目前只支持 Linux)上的动态库,假设动态库的名字叫 libSensorsAnalyticsC.so,这里获取动态库有两种方式:
- 使用 神策分析 C SDK 的源码 sensors_analytics.h 和 sensors_analytics.c 在 Linux 平台上编译出动态库;
- Lua SDK 中已经有基于 C SDK v0.2.0 版本的动态库。
然后集成 Lua SDK 中的文件 sensors_analytics.lua,在需要埋点的 Lua 文件中通过 require "sensors_analytics" 引入 Lua SDK:
local sensors_analytics = require "sensors_analytics"
开发者通过 Lua SDK 在程序中记录用户行为数据。SDK 将格式化的行为数据以日志文件的形式输出到本地磁盘文件中,开发者需要通过神策分析的 LogAgent 工具 将日志文件传输到神策分析中。LogAgent 工具 保证日志传输的时效性和完整性。
初始化神策分析 SDK
这里定义了一个 table,用于封装 C SDK 相关接口:
-- 定义一个 table,用于封装 C SDK 相关接口
local _M = new_tab(0, 16)
_M.version = "0.0.1"
_M.new_tab = new_tab
_M.clear_tab = clear_tab
_M.FFI_OK = 0
_M.FFI_RESULT_ERROR = 1
_M.FFI_INVALID_PARAMETER_ERROR = 2
在程序中使用
// 初始化 Sensors Analytics 对象
//
// @param consumer 日志数据的 “消费” 方式
//
// @return SensorsAnalytics 实例.
function _M.sa_init(consumer)
初始化神策分析实例,通过它实现 SDK 各项功能。其中参数 consumer 对象负责 “消费” 用户行为日志,在程序中使用
// 初始化 Logging Consumer
//
// @param file_name 日志文件名,例如: /data/logs/http.log
//
// @return SALoggingConsumer 实例.
function _M.sa_init_logging_consumer(file_name)
初始化 SALoggingConsumer 实例,它负责将用户行为日志输出到本地磁盘。
local consumer_res, consumer = sensors_analytics.sa_init_logging_consumer("demo.out")
if consumer_res ~= SA_FFI_OK then
print("Failed to initialize the consumer.")
return
end
local sa_res, sa = sensors_analytics.sa_init(consumer)
if sa_res ~= SA_FFI_OK then
print("Failed to initialize the SDK.")
return
end
// ... 使用神策分析进行各种操作
sensors_analytics.sa_flush(sa)
sensors_analytics.sa_free(sa)