目前仅支持32位和64位的Windows平台。
在开始集成前,首先需要在集团中拥有一个应用,请参考:如何创建应用。
私有化部署版本需要获取数据上送地址 reportURL
。
如您不清楚此地址,请联系您的项目经理或客户成功经理。
请前往Windows SDK包下载页面获取对应版本的SDK包。
说明
windows_
版本号
.zip
格式。例如:windows_1.2.4.zip
,其中1.2.4为SDK版本号。._x86.zip
的SDK包._x64.zip
的SDK包请下载对应平台的SDK文件压缩包,解压后会出现applogrs.hpp、applogrs.dll、applogrs.dll.lib三个文件:
将下载的SDK文件复制到项目中,需要注意平台架构的文件放在项目的对应平台构建目录中。
修改项目属性-配置属性-连接器-常规-附加库目录,增加applogrs.dll
文件所在的目录。
修改项目属性-配置属性-连接器-常规-附加依赖项,增加文本内容applogrs.dll.lib
。
修改项目属性-配置属性-C/C++-附加包含目录,增加applogrs.hpp
文件所在的目录。
在需要调用SDK的代码文件头部,显示的引入applogrs.hpp
头文件:
#include "applogrs.hpp"
说明:
初始化SDK后会采集系统的部分设备信息,包括设备序列号、操作系统软件版本等。
SDK会缓存埋点等数据,为保障数据不丢失,需要将数据持久化到本地磁盘中。需要提前准备可以写入数据的文件目录(SDK不会自动创建目录)。
// 1. 设置数据缓存目录,需要已经存在的有访问和写入数据权限的文件目录 applog::setDbDir("/xx/xx"); // 2. 设置域名,如果是私有化部署请传入私有化的域名;如果是SaaS,请忽略下面的代码 char* domain = "https://xxx.xxx.xxx" applog::setCustomDomain(domain); // 服务域名 // 3. 开启A/B测试,默认关闭,如关闭请设置为(0) applog::setAbTestEnabled(1); // 4. 初始化SDK,需要提前准备好appId和appChannel(appChannel一般为发布的渠道名) applog::init_rangers(appId, appChannel);
通常在SDK 初始化后会向分流服务发送一个分流请求(request),在获取到分流服务的响应(response)后,客户端开发可以根据分流的结果参数完成代码分支。
// 获取全部实验参数 const char* allConfigs = applog::getAllAbTestConfigs(); // 获取指定的实验参数,并上报曝光事件abtest_exposure // params1: 实验配置key // params2: 默认参数,如果没有获取到远程实验配置接口返回该参数值 const char* config = applog::getAbTestConfig("key", "defaultValue");
支持在任意位置采集埋点,埋点内容包含埋点名称和埋点参数两部分,接口示例:
// 这里采集一个埋点 // 参数说明: // 参数1:埋点名称,不能为空 // 参数2:参数的json字符串,不能为空,且必须为合法的json字符串 applog::onEvent("my_click", "{\"my_param\": 1}");
如需在每个事件中都包括某属性,可通过公共属性设置,无需在每个事件中重复设置。公共属性只需设置一次,即可包括在所有代码埋点事件中。
// 添加公共属性 // 参数说明: // 参数1:属性名 // 参数2:属性值(仅支持字符串) applog::addCustomHeader("header", "value");
// 移除公共属性 // 参数说明: // 参数1:属性名 applog::removeCustomHeader("header");
如您的产品中有账户体系,请在用户登录后立即设置 uuid,以保证用户登录前后口径一致性。
// 设置用户的uuid applog::setUserUniqueId("your_user_unique_id");
如果需要查看SDK内部运行日志,需要调用日志开关接口切换日志打印:
// 配置日志开关 // 参数说明: // 参数1:1-开启日志打印 0-关闭日志打印 applog::setLogEnabled(1);