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

一、使用背景

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

二、主要场景

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

三、集成和配置说明

四、SDK接入和使用说明

一、工程配置

  1. 将SCDataStatisticsSDK.framework库导入到工程文件中;
  2. 在项目工程中的 Build Settings -> other linker flags中加入-ObjC;
  3. 项目中需要集成AFNetWorking三方库,版本为4.0及以上。
  4. 如果用的是 Xcode 7 或更新版本,需要在 App 项目的 plist 手动配置下 key 和值以支持 http 传输。在项目的 info.plist 中添加一个 Key:NSAppTransportSecurity,类型为字典类型。给字典添加一个属性NSAllowsArbitraryLoads,类型为Boolean,值分别为YES。

二、代码配置

请将以下代码添加到 AppDelegate.m 引用头文件的位置;

//引入SDk功能所需头文件
#import <SCDataStatisticsSDK/SCDataStatisticsService.h>

将以下初始化代码加入到 AppDelegate.m 中的didFinishLaunchingWithOptions方法中,用以完成SDK的基本数据配置;

 SCDataStatisticsLaunchConfig *config = [SCDataStatisticsLaunchConfig new];
 
 config.appVersion = @"你的app版本号";
 
 config.areaId = @"你的app所分配的唯一区域码";
 
 config.deviceId = @"你的设备唯一标识";
 
 config.ipAddress = @"你的设备的ip地址";
 
 config.location = @"当前登录的定位位置";

 config.netType = @"你的设备的网络";
 
 [[SCDataStatisticsService shareInstance] setupWithConfig:config];

五、接口设计和说明

一、接口设计

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

二、统计事件模型说明

模型名称 统计事件
SCDataStatisticsEventObject 所有事件的父类
SCDataStatisticsLoginEvent 登录
SCDataStatisticsAccessPageEvent 页面访问(进入/退出页面)
SCDataStatisticsCollectEvent 收藏
SCDataStatisticsCommentEvent 评论
SCDataStatisticsForwoardEvent 转发
SCDataStatisticsThumbsUpEvent 点赞
SCDataStatisticsLiveEvent 直播
SCDataStatisticsSearchEvent 搜索
SCDataStatisticsVedioEvent 视频播放
SCDataStatisticsAppTerminateEvent app退出
SCDataStatisticsReportEvent 发布爆料

三、接口及参数说明

1、SDK初始化配置接口

 - (void)setupWithConfig:(SCDataStatisticsLaunchConfig *)config;

2、登录日志统计接口

- (void)addLoginEventLog:(NSString *)userId;
[[SCDataStatisticsService shareInstance] addLoginEventLog:@"12345"];

3、通用事件日志统计接口

- (void)addEventLog:(SCDataStatisticsEventObject *)event;

注:部分操作事件参数中的userId、sourceName、sourceId均为非必传参数,但为了统计日志的全面性和准确性,尽量将每个参数和值都传递以做数据统计。

4、日志打印开关接口

//此接口根据需求调用
- (void)setDebug:(BOOL)enable;

5、登录事件模型

6、页面访问事件模型

//创建访问页面的事件对象
SCDataStatisticsAccessPageEvent *event = [SCDataStatisticsAccessPageEvent new];

//访问页面所需要的参数
event.isAccess = YES;
event.sourceName = @"页面名称";
event.sourceId = @"0";
event.userId = @"uesrId";

//调用添加日志的方法
[[SCDataStatisticsService shareInstance] addEventLog:event];

7、收藏事件模型

//创建收藏的事件对象
SCDataStatisticsCollectEvent *event = [SCDataStatisticsCollectEvent new];

event.sourceName = @"页面名称";
event.sourceId = @"0";
event.userId = @"uesrId";
event.sourceType = 0;

//调用添加日志的方法
[[SCDataStatisticsService shareInstance] addEventLog:event];

8、评论事件模型

SCDataStatisticsCommentEvent *event = [SCDataStatisticsCommentEvent new];
event.sourceName = @"首页";
event.sourceId = @"0";
event.userId = @"12345";
event.commentDetail = @"评论详情";
[[SCDataStatisticsService shareInstance] addEventLog:event];

9、转发事件模型

SCDataStatisticsForwoardEvent *event = [SCDataStatisticsForwoardEvent new];
event.sourceName = @"首页";
event.sourceId = @"0";
event.userId = @"12345";
event.shareType = 0;
[[SCDataStatisticsService shareInstance] addEventLog:event];

10、点赞事件模型

11、直播事件模型

SCDataStatisticsLiveEvent *event = [SCDataStatisticsLiveEvent new];
event.sourceName = @"首页";
event.sourceId = @"0";
event.userId = @"12345";
event.heartbeatLength = 60;
[[SCDataStatisticsService shareInstance] addEventLog:event];

12、搜索事件模型

SCDataStatisticsSearchEvent *event = [SCDataStatisticsSearchEvent new];
event.userId = @"12345";
event.content = @"搜索内容";
[[SCDataStatisticsService shareInstance] addEventLog:event];

13、视频播放事件模型

SCDataStatisticsVedioEvent *videoEvent = [SCDataStatisticsVedioEvent new];
videoEvent.sourceName = @"首页";
videoEvent.sourceId = @"0";
videoEvent.userId = @"12345";
videoEvent.isComplete = YES;
videoEvent.contentLength = 6000;
[[SCDataStatisticsService shareInstance] addEventLog:videoEvent];

14、app退出事件模型

SCDataStatisticsAppTerminateEvent *terminateEventEvent = [SCDataStatisticsAppTerminateEvent new];
[[SCDataStatisticsService shareInstance] addEventLog:terminateEventEvent];

15、发布爆料事件模型

SCDataStatisticsReportEvent *reportEvent = [SCDataStatisticsReportEvent new];
reportEvent.sourceContent = @"首页";
reportEvent.sourceId = @"0";
reportEvent.userId = @"12345";
[[SCDataStatisticsService shareInstance] addEventLog:reportEvent];