MSDK 数据上报(Android):灯塔与 Qimei SDK 接入说明 原文标题:MSDK WIKI
内容概要总结
腾讯 MSDK 官方 Wiki 的 Android 数据上报文档。说明 MSDK 内部集成灯塔(Beacon)SDK 组件,通过封装接口上报自定义事件数据,用于质量监控与用户分析,着力点包括自定义事件、终端信息、用户行为、用户画像四类。
接入方面,MSDK 3.3.25 起灯塔与 Qimei SDK 以插件化形式提供(beacon jar、qimei jar、libbeaconid.so),3.3.28 起 Qimei 的 so 更名为 libqimei.so;Qimei36 上报自 Android 3.3.18 起支持,默认关闭需联系灯塔开通。文档给出 WGReportEvent 接口声明、参数表(name/eventList/isRealTime,key 最长 64、value 最长 1024、key 上限 50)与示例代码。
合规要点:灯塔 4.2.80.6 起 Qimei 独立,可分别开关 OAID/IMEI/IMSI/AndroidId/MAC/CID/进程信息/BUILD.MODEL 采集;MSDK 默认全部关闭,须由业务在用户同意后经反射或 MSDKSensitive::SetSensitiveInfo 透传特别字段(AndroidID、WiFiMacAddress、Model、Oaid、Imsi、Cid 等)。
原文内容(原文即中文)
数据上报


概述
灯塔是以质量监控、用户分析为核心的移动APP运营平台,MSDK内部集成了灯塔SDK组件,通过我们封装的接口,您可以上报自定义事件数据。

灯塔通过对海量的上报数据进行统计,以如下几个方面为主要着力点,帮助APP提升质量:
- 自定义事件 灵活定制,分析产品功能在实际用户环境下的质量表现
- 终端信息 完整掌握用户的硬件分布、地域及网络信息分布
- 用户行为 多维海量用户分析,从各种视角帮助您更了解用户
- 用户画像 结合多年无线数据积累,精准判断用户画像
详细说明请参考灯塔官网http://beacon.tencent.com/(内网访问,可由对应腾讯运营接口人协助查询)。
接入向导
MSDK 3.3.25 版本开始,灯塔、Qimei SDK 以插件化形式提供,支持灵活替换,相关 jar、so 包括:
- beacon-android-release-x.x.x.x(版本号)-official.jar //灯塔 SDK 核心库
- qimei-x.x.x.x(版本号).jar //Qimei SDK 核心库
- libbeaconid.so //Qimei SDK so
MSDK 3.3.28 版本开始,Qimei SDK 中 libbeaconid.so(Qimei SDK so 文件)替换为 libqimei.so。
1 前置条件
- 您已经在腾讯开放平台上注册游戏并通过审核,或您的腾讯接口人已经通过内部渠道帮您注册游戏。
- 您的游戏已经具备接入灯塔的权限,灯塔接入权限申请需要由对应腾讯运营接口人联系企业微信号灯塔小秘。
2 参考Demo示例
自定义数据上报示例参考 MSDKDemo/src/com/example/module/submodule/OthersFunction.java 脚本的 callWGReportEvent 部分。
3 Qimei36 说明
Qimei36 上报功能,Android 3.3.18 版本开始支持。默认为空,需要业务联系灯塔开通权限,开通指引参考:https://iwiki.woa.com/pages/viewpage.action?pageId=417707553
- 对于 appKey,Android 端一般为 QQ 号,iOS 端为 i+QQ 号,可参考飞鹰系统---SDK 参数---灯塔 Key 字段或咨询 “灯塔小秘”。
自定义数据上报
1 概述
您可以通过MSDK提供接口上报自定义事件数据,上报的数据可以通过灯塔官网进行查看http://beacon.tencent.com/ (内网访问,可由对应腾讯运营接口人协助查询),上报后5分钟可以查到。

2 注册回调
3 调用接口
1)功能描述
2)接口声明
void WGReportEvent(unsigned char *name, std::vector<KVPair> &eventList, bool isRealTime);
3)参数说明
| 参数名称 | 类型 | 说明 |
|---|---|---|
| name | unsigned char * | 事件名称,最大长度128 |
| eventList | vector<KVPair> | 事件内容, 一个key-value形式的vector, key最大长度64,value最大长度1024,key个数最大50, key建议使用"B1","B2"规则命名,以减少流量消耗 |
| isRealTime | boolean | 是否实时上报,非实时上报会缓存本地,批量上报 |
4)返回值
5)示例代码
WGPlatform::GetInstance()->WGReportEvent((unsigned char *)"ReportEventTest",
eventList,
true);
6)特殊说明
7)名称解释
常见问题
灯塔 4.2.80.6 及以上版本(MSDK 3.3.25 及以上版本)注意事项
灯塔 4.2.80.6 开始,Qimei SDK 从灯塔 SDK 中独立出来;在 Android 端进行灯塔设置前需要先行设置 Qimei 特别字段,否则将影响灯塔信息上报。
QimeiSDK.getInstance("appkey1").getStrategy()
.enableOAID(true) // 关闭oaid采集,这里设置false
.enableIMEI(true) // 关闭imei采集,这里设置false,建议如用户授权,尽可能采集,便于复核问题
.enableIMSI(true) // 关闭imsi采集,这里设置false
.enableAndroidId(true) // 关闭android id采集,这里设置false,建议如用户授权,尽可能采集,便于复核问题
.enableMAC(true) // 关闭mac采集,这里设置false
.enableCid(true); // 关闭cid采集,这里设置false
.enableProcessInfo(true) // 关闭应用列表枚举,这里设置false,1.0.5以上版本有效
.enableBuildModel(true) // 关闭BUILD.MODEL采集,这里设置false,1.2.3以上版本有效
注意,MSDK 默认将上述字段全部设为 false,这样 MSDK 包括灯塔都不会去主动采集,而是依赖业务在用户同意后,业务自行采集可通过以下任意一种方式处理:
- 业务直接反射调用灯塔或 Qimei set 接口设置特别字段;
- 通过 MSDK 提供的 MSDKSensitive 接口来开启并设置特别字段上报;
std::string sensitiveInfo = "{\"AndroidID\":\"xxx\", \"WiFiMacAddress\":\"xxx\", \"Model\":\"xxx\", \"Oaid\":\"xxx\", \"Imsi\":\"xxx\", \"Cid\":\"xxx\"}"; //json格式传入特别字段,不传入 Model 值会影响灯塔中台算法效果
MSDKSensitive::SetSensitiveInfo(sensitiveInfo); //设置特别信息
可在灯塔实时联调看到相应字段信息,具体字段 key-value 请参考:https://doc.weixin.qq.com/sheet/e3_m_FQqjSTulsZmQ?scode=AJEAIQdfAAoYCcswsTAP0AIgaEACc&tab=p142s5
灯塔集成注意事项
可参考:[https://doc.weixin.qq.com/doc/w3_AOQADAbbACgqJ91uqbMRnKuobyvnZ?scode=AJEAIQdfAAosBHFrxzAOQADAbbACg](https://doc.weixin.qq.com/doc/w3_AOQADAbbACgqJ91uqbMRnKuobyvnZ?scode=AJEAIQdfAAosBHFrxzAOQADAbbACg](https://doc.weixin.qq.com/doc/w3_AOQADAbbACgqJ91uqbMRnKuobyvnZ?scode=AJEAIQdfAAosBHFrxzAOQADAbbACg](https://doc.weixin.qq.com/doc/w3_AOQADAbbACgqJ91uqbMRnKuobyvnZ?scode=AJEAIQdfAAosBHFrxzAOQADAbbACg)
Android Qimei SDK 2.1.2.92 及以上版本(MSDK 3.3.30 及以上版本)注意事项
Qimei 侧建议业务开启 Qimei 自动采集或直接传递 Oaid 字段用于问题排查场景,且 Qimei 侧确认符合合规场景。
当用户同意隐私协议,且业务在 SetSensitiveInfo 入参中添加 "{\"UserAgreePrivacy\":true}" 时开启 Qimei 自动采集,自动采集字段包括:AndroidId、Oaid、ProcessInfo、Model。
- 利用 SetSensitiveInfo 直接设置 Oaid,优先级高于上述自动采集方式
若业务禁止 Qimei 自动采集,可在 SetSensitiveInfo 入参中添加 "{\"Oaid\":\"xxx\"}" 来直接设置 Oaid。
SetSensitiveInfo 接口描述参考:https://wiki.ssl.msdk.qq.com/Android/config.html#Android_Direction