移动客户端信息集成模块(Android)接口说明文档

一、使用背景

四川县级融媒体技术平台针对区县APP用户操作行为的统计。本SDK中各接口方法,需要各区县开发商自行在APP中各操作节点中埋点调用。

二、主要场景

  1. 统计页面访问轨迹;
  2. 统计事件,SDK将事件模型化,目前主要提供了十余种模型(包括登录、评论、转发、点赞、页面访问等);

三、网络权限配置

<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"可以查看上报日志

六、接口设计和说明

1、接口设计

SDK将所有的统计事件模型化,通过创建模型对象,然后调用统一的添加日志统计方法来完成统计接口的调用。

2、统计事件模型说明

方法名称 统计事件
SDKInit SDK 初始化接口
newsInfoVisit 可为新闻、直播访问,也可为页面、模块访问。
appStart app启动
appStop app退出
appLogin 登录
newsInfoCollect 收藏
commentaryLog 评论
shareLog 转发
thumbsUpLog 点赞(取消点赞)
searchLog 搜索
newsVideoPlay 新闻点播播放日志
tvPlay 频道直播播放日志
livePlay 活动直播播放日志
reportLog 发布爆料

3、接口及参数说明

(1)SDK初始化配置接口

SDKInit(String areaId, String deviceId, String appVersion, String ip, String netType)

调用示例

 StatisticsMainInit.SDKInit("1004","test_deviceid_1112",versionName,ipAddress,String.valueOf(NetUtils.GetNetype(MainActivity.this)));

(2)登录日志统计接口

StatisticsMainInit.appLogin(String phoneNumber);

调用示例

StatisticsMainInit.appLogin("13999999999");

(3)通用事件日志统计接口

StatisticsMainInit.newsInfoVisit(String phoneNumber, String sourceId, String sourceName, String sourceTag, String action);

调用示例

StatisticsMainInit.newsInfoVisit("13999999999", "123", "测试新闻", "经济","1");

(4)app启动

appStart(String channelName, String address);

调用示例

StatisticsMainInit.appStart("huawei","成都|武侯区");

(5)app退出

appStop();

调用示例

StatisticsMainInit.appStop();

(6)统计APP收藏的相关数据

newsInfoCollect(String phoneNumber, String sourceId, String sourceName, String type);

调用示例

StatisticsMainInit.newsInfoCollect("13999999999", "123", "测试收藏新闻", "1");

(7)统计APP评论的相关数据

commentaryLog(String phoneNumber, String sourceId, String sourceName, String discussContent)

统计APP评论的相关数据

调用示例

StatisticsMainInit.commentaryLog("13999999999", "123", "测试评论", "评论内容");

(8)统计APP新闻分享转发的相关数据

shareLog(String phoneNumber, String sourceId, String sourceName, int channelId) 

统计APP新闻分享转发的相关数据

调用示例

StatisticsMainInit.shareLog("13999999999", "123", "测试新闻分享", 1);

(9)统计APP点赞的相关数据

thumbsUpLog(String phoneNumber, String sourceId, String sourceName, int operationType) 

统计APP点赞的相关数据

调用示例

StatisticsMainInit.thumbsUpLog("13999999999", "123", "测试新闻点赞", 1);

(10)统计APP新闻点播(视频)的相关数据

newsVideoPlay(String phoneNumber, String sourceId, String programName, int contentLen, int isComplete)

统计APP新闻点播(视频)的相关数据

调用示例

StatisticsMainInit.newsVideoPlay("13999999999", "123", "测试播放新闻视频", 1000, 1);

(11)统计APP搜索相关数据

searchLog(String phoneNumber, String searchKey)

统计APP搜索相关数据

调用示例

StatisticsMainInit.searchLog("13999999999", "搜索关键字");

(12)电视频道 播放心跳

tvPlay(String phoneNumber, String channelId, String channelName, int hbLen)

电视频道 播放心跳

调用示例

StatisticsMainInit.tvPlay("13999999999", "123", "测试频道播放心跳", 60);

(13)活动直播 播放心跳

livePlay(String phoneNumber, String sourceId, String sourceName, int hbLen)

活动直播 播放心跳

调用示例

StatisticsMainInit.livePlay("13999999999", "123", "测试直播播放心跳", 60);

(14)统计APP发布爆料的相关数据

reportLog(String phoneNumber, String sourceId, String sourceContent)

统计APP发布爆料的相关数据

调用示例

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: ----功能页面访问日志发送成功
created with the free version of Markdown Monster