四川县级融媒体技术平台针对区县APP用户操作行为的统计。本SDK中各接口方法,需要各区县开发商自行在APP中各操作节点中埋点调用。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
1.将statisticssdk_1.0.0.aar复制到项目lib文件夹下。
2.在module的grade文件中添加:
repositories {
flatDir {
dirs 'libs'
}
}
3.在dependencies中添加要依赖的aar文件
dependencies {
implementation 'statisticssdk_1.0.0.aar'
}
4.在app主module中导入相关依赖
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.squareup.retrofit2:converter-scalars:2.3.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.8.0'
compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
compile 'com.google.code.gson:gson:2.6.2'
5.重新编项目
1.在项目Application的onCreate()方法中进行初始化:
StatisticsMainInit.SDKInit("区县对应id", "设备id",
"app名字", "ip地址","网络类型");
2.在主页面调用
StatisticsMainInit.appStart("渠道名","定位信息");
3.在对应界面,调用各个操作对应的埋点方法
4.使用TAG = "STATISTICS_SDK"可以查看上报日志
SDK将所有的统计事件模型化,通过创建模型对象,然后调用统一的添加日志统计方法来完成统计接口的调用。
方法名称 | 统计事件 |
---|---|
SDKInit | SDK 初始化接口 |
newsInfoVisit | 可为新闻、直播访问,也可为页面、模块访问。 |
appStart | app启动 |
appStop | app退出 |
appLogin | 登录 |
newsInfoCollect | 收藏 |
commentaryLog | 评论 |
shareLog | 转发 |
thumbsUpLog | 点赞(取消点赞) |
searchLog | 搜索 |
newsVideoPlay | 新闻点播播放日志 |
tvPlay | 频道直播播放日志 |
livePlay | 活动直播播放日志 |
reportLog | 发布爆料 |
SDKInit(String areaId, String deviceId, String appVersion, String ip, String netType)
接口说明
初始化
参数说明
参数名 | 参数类型 | 是否必传 | 说明 |
---|---|---|---|
areaId | String | 是 | 区县编码 |
deviceId | String | 是 | 设备号 |
appVersion | String | 是 | APP版本 |
ip | String | 是 | 手机IP地址 |
netType | String | 是 | 网络类型 1,wifi,2,移动网络 |
调用示例
StatisticsMainInit.SDKInit("1004","test_deviceid_1112",versionName,ipAddress,String.valueOf(NetUtils.GetNetype(MainActivity.this)));
StatisticsMainInit.appLogin(String phoneNumber);
接口说明
统计用户登录应用的日志(登录统计可用这个接口调用,也可用对象方式调用)
参数说明
参数名 | 参数类型 | 是否必传 | 说明 |
---|---|---|---|
phoneNumber | String | 是 | 用户id(一般为登录手机号) |
调用示例
StatisticsMainInit.appLogin("13999999999");
StatisticsMainInit.newsInfoVisit(String phoneNumber, String sourceId, String sourceName, String sourceTag, String action);
接口说明
所有操作事件对象统一调用的接口
参数说明
参数名 | 参数说明 | 是否必传 | 说明 |
---|---|---|---|
phoneNumber | String | 否 | 用户手机号(未登录时可传"") |
sourceId | String | 是 | 详情ID(新闻或直播等取到时必传) |
sourceName | String | 是 | 标题(新闻或直播等取到时必传) |
sourceTag | String | 否 | 新闻标签(经济|军事|历史等) |
action | String | 是 | 操作动作:0进入页面,1退出页面 |
调用示例
StatisticsMainInit.newsInfoVisit("13999999999", "123", "测试新闻", "经济","1");
appStart(String channelName, String address);
接口说明
统计APP启动次数以及相关版本
参数说明
参数名 | 参数说明 | 是否必传 | 说明 |
---|---|---|---|
channelName | String | 是 | andriod渠道名称 : huawei、baidu、wandoujia等 |
address | String | 否 | 用户定位(如: 成都|武侯区) |
调用示例
StatisticsMainInit.appStart("huawei","成都|武侯区");
appStop();
接口说明
统计APP退出次数以及相关版本
参数说明
调用示例
StatisticsMainInit.appStop();
newsInfoCollect(String phoneNumber, String sourceId, String sourceName, String type);
接口说明
统计APP收藏的相关数据
参数说明
参数名 | 参数说明 | 是否必传 | 说明 |
---|---|---|---|
phoneNumber | String | 否 | 用户手机号(未登录时可传"") |
sourceId | String | 是 | 详情ID |
sourceName | String | 是 | 标题 |
type | String | 是 | 收藏类型 0 新闻点播, 1 专题, 2 直播/频道,3 其他 |
调用示例
StatisticsMainInit.newsInfoCollect("13999999999", "123", "测试收藏新闻", "1");
commentaryLog(String phoneNumber, String sourceId, String sourceName, String discussContent)
统计APP评论的相关数据
参数说明
参数名 | 参数说明 | 是否必传 | 说明 |
---|---|---|---|
phoneNumber | String | 是 | 用户手机号(未登录时可传"") |
sourceId | String | 是 | 评论的文章、新闻的ID |
sourceName | String | 是 | 评论的文章、新闻的标题 |
discussContent | String | 是 | 评论内容 |
调用示例
StatisticsMainInit.commentaryLog("13999999999", "123", "测试评论", "评论内容");
shareLog(String phoneNumber, String sourceId, String sourceName, int channelId)
统计APP新闻分享转发的相关数据
参数说明
参数名 | 参数说明 | 是否必传 | 说明 |
---|---|---|---|
phoneNumber | String | 否 | 用户手机号(未登录时可传"") |
sourceId | String | 是 | 分享的文章、新闻的ID |
sourceName | String | 是 | 分享的文章、新闻的标题 |
channelId | String | 是 | 分享取到:0 微信、1 微博、2 QQ、3 其他 |
调用示例
StatisticsMainInit.shareLog("13999999999", "123", "测试新闻分享", 1);
thumbsUpLog(String phoneNumber, String sourceId, String sourceName, int operationType)
统计APP点赞的相关数据
参数说明
参数名 | 参数说明 | 是否必传 | 说明 |
---|---|---|---|
phoneNumber | String | 是 | 用户手机号(未登录时可传"") |
sourceId | String | 是 | 点赞的文章、新闻的ID |
sourceName | String | 是 | 点赞的文章、新闻的标题 |
operationType | String | 是 | 状态:1 点赞, 2取消点赞 |
调用示例
StatisticsMainInit.thumbsUpLog("13999999999", "123", "测试新闻点赞", 1);
newsVideoPlay(String phoneNumber, String sourceId, String programName, int contentLen, int isComplete)
统计APP新闻点播(视频)的相关数据
参数说明
参数名 | 参数说明 | 是否必传 | 说明 |
---|---|---|---|
phoneNumber | String | 否 | 用户手机号(未登录时可传"") |
sourceId | String | 是 | 文章、新闻或视频的ID |
programName | String | 是 | 视频节目标题 |
contentLen | String | 是 | 视频时长(无时长可传0) |
isComplete | String | 是 | 是否播放完:0 未看完,1 已看完 |
调用示例
StatisticsMainInit.newsVideoPlay("13999999999", "123", "测试播放新闻视频", 1000, 1);
searchLog(String phoneNumber, String searchKey)
统计APP搜索相关数据
参数说明
参数名 | 参数说明 | 是否必传 | 说明 |
---|---|---|---|
phoneNumber | String | 否 | 用户手机号(未登录时可传"") |
searchKey | String | 是 | 搜索关键词 |
调用示例
StatisticsMainInit.searchLog("13999999999", "搜索关键字");
tvPlay(String phoneNumber, String channelId, String channelName, int hbLen)
电视频道 播放心跳
参数说明
参数名 | 参数说明 | 是否必传 | 说明 |
---|---|---|---|
phoneNumber | String | 否 | 用户手机号(未登录时可传"") |
channelId | String | 是 | 频道ID(能获取到频道id时必传) |
channelName | String | 是 | 频道名称 |
hbLen | String | 是 | 心跳时长(默认为60秒) |
调用示例
StatisticsMainInit.tvPlay("13999999999", "123", "测试频道播放心跳", 60);
livePlay(String phoneNumber, String sourceId, String sourceName, int hbLen)
活动直播 播放心跳
参数说明
参数名 | 参数说明 | 是否必传 | 说明 |
---|---|---|---|
phoneNumber | String | 否 | 用户手机号(未登录时可传"") |
sourceId | String | 是 | 直播ID(能获取到直播id时必传) |
sourceName | String | 是 | 直播名称 |
hbLen | String | 是 | 心跳时长(默认为60秒) |
调用示例
StatisticsMainInit.livePlay("13999999999", "123", "测试直播播放心跳", 60);
reportLog(String phoneNumber, String sourceId, String sourceContent)
统计APP发布爆料的相关数据
参数说明
参数名 | 参数说明 | 是否必传 | 说明 |
---|---|---|---|
phoneNumber | String | 否 | 用户手机号(未登录时可传"") |
sourceId | String | 是 | 爆料ID(如果获取不到可传"") |
sourceContent | String | 是 | 爆料内容或标题 |
调用示例
StatisticsMainInit.reportLog("13999999999", "123", "测试新闻点赞");
在调用日志接口之后,如需查看状态日志,请筛选TAG为” STATISTICS_SDK”的日志记录。日志中能查看传入参数以及接口是否调用成功。
入参日志结构示例:
{"logDetail":{"sourceId":"","appVersion":"1.4.0","areaId":"1024","ip":"172.16.18.140","action":"0","channelType":1,"sourceName":"首页","sourceTag":"","deviceId":"99001276118047","userId":"13999999999"},"type":1}
上报成功日志:
STATISTICS_SDK: ----功能页面访问日志发送成功