💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # 概述 > 通过集成科大讯飞统计分析SDK可以跟踪移动应用的用户属性及操作行为,您可以通过科大讯飞的网站服务查看、下载到数据处理的结果。通过多维度的精准分析,帮助您调整产品的各种策略。阅读如下文档,您可以在几分钟之内轻松完成集成过程。 # 集成说明 ## **申请appid** 在 http://www.xfyun.cn 网站中注册成为开发者并创建一款应用,您将获得一款标识您的应用的appid。 ## **导入SDK** 1. 下载最新版SDK包 2. 将libSunFlower.a拷贝至工程的文件目录中 3. 将libSunFlower.a导入至工程中: Targets-->Build Phases-->Link Binary With Libraries 4. 将工程Build Settings中的Library Search Paths指定到正确的libSunFlower.a所在目录位置 5. 添加如下动态依赖库至Link Binary With Libraries: libz.tbd CoreTelephony.framework CoreLocation.framework SystemConfiguration.framework CoreGraphics.framework # 接口说明 ## **配置接口** #### 1.日志收集总开关 ~~~ //日志收集总开关, 默认是开启状态.此设置只能在所有统计接口前调用 //YES:开启;NO:关闭 [IFlyFlowerCollector SetCollectorStatus:YES]; ~~~ #### 2.设置appid ~~~ [IFlyFlowerCollector SetAppid:@"12345678"]; ~~~ #### 3.控制台日志打印 ~~~ //设置开启Debug模式(默认关闭) //YES:开启;NO:关闭 [IFlyFlowerCollector SetDebugMode:YES]; ~~~ #### 4.崩溃及卡顿日志收集 ~~~ //开启CrashReport收集, 默认是开启状态. //YES:开启;NO:关闭 [IFlyFlowerCollector SetCaptureUncaughtException:YES]; //设置卡顿判断时间间隔,默认为5s [IFlyFlowerCollector SetBlockMonitorTimeInterval:5]; //设置卡顿日志收集状态,默认为关闭 /YES:开启;NO:关闭 [IFlyFlowerCollector SetBlockMonitorStatus:YES]; ~~~ #### 5.收集位置信息 ~~~ //设置是否收集位置信息 //YES:开启;NO:关闭 [IFlyFlowerCollector SetAutoLocation:YES]; ~~~ ## **日志收集接口** #### 1.自定义事件统计 ~~~ //1.在希望记录事件发生的地方调用如下方法: [IFlyFlowerCollector OnEvent:@" music "]; [IFlyFlowerCollector OnEvent:@" music " label:@"爸爸去哪里哇"]; NSDictionary *dic = [NSDictionary dictionaryWithObject:@" song " forKey:@" 爸爸去哪里哇"]; [IFlyFlowerCollector OnEvent:@" music " paramDic:dic]; //2.记录事件的持续时间(单位毫秒): //自己计算并传入时间 [IFlyFlowerCollector OnEventDuration:@" music " duration: 5 * 60 * 1000]; //在事件开始时调用 [IFlyFlowerCollector OnBeginEvent:@" music "]; //在事件结束时调用 [IFlyFlowerCollector OnEndEvent:@" music "]; /* 注意: 1.请确保事件开始和结束的eventId一致。在Debug模式下可以看到事件是否添加成功的log。 2. event_id和label不能使用特殊字符,且长度不能超过128个字节;map中的key和value 都不能使用特殊字符,key和value均不能超过128个字节。 */ ~~~ #### 2.自定义错误统计 ~~~ [IFlyFlowerCollector OnError:@"error type" paramMsg:@"error message"]; ~~~ #### 3.页面访问统计 您可以统计每个View停留时长及路径,需要配对使用。 ~~~ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [IFlyFlowerCollector OnPageStart:@"page1"]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [IFlyFlowerCollector OnPageEnd:@"page1"]; } ~~~ #### 4.日志信息统计 ~~~ NSDictionary *dic = [NSDictionary dictionaryWithObject:@" log content " forKey:@" log key"]; [IFlyFlowerCollector onLog:@" businessType " paramDic:dic]; [IFlyFlowerCollector onLog:@" businessType " paramDic:dic duration:5 * 60 * 1000 label:@" log lable "]; ~~~ #### 5.日志立即上传 调用后本地存储的日志立即上传至服务端。 ~~~ [IFlyFlowerCollector Flush]; ~~~ #### 6.数据上报策略 您可以通过讯飞网站上配置日志上报的频率。目前支持:启动时发送、按时间间隔发送。 需要在程序的入口中添加: ~~~ [IFlyFlowerCollector updateOnlineConfig]; ~~~ 用来获取后台配置的策略。默认启动时发送。 获取返回数据: ~~~ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mytest:) name:SUNFLOWERNOTIFICATION object:nil]; ~~~ 详见demo。 #### 7.在线参数 您在讯飞网站上设置Key-Value值之后,可以调用如下接口动态获取线上最新的参数值: ~~~ //XXX为您在网站上设置的key NSString *value = [IFlyFlowerCollector getOnlineParams:@"xxx"]; ~~~ ## **个性化功能接口** #### 1.用户信息登录接口 ~~~ 1.创建用户信息Module IFlyFlowerUserEntity *user = [[IFlyFlowerUserEntity alloc] init]; //登录类型 user.loginType = IFlyFlowerUserEntityTypeOwner; //用户ID,必传 user.userID = @“123456”; //用户名 user.userName = @“sunflower”; //手机 user.telephone = @“1234567890”; //E-mail user.email = @“msp_support@iflytek.com”; //扩展字段 user.extDic = [NSDictionary dictionaryWithObject:@"1234" forKey:@"text"]; 2.注册用户信息 [IFlyFlowerCollector SetUserBind: user bindType: IFlyFlowerBindRegister]; 3.用户登入 [IFlyFlowerCollector SetUserBind: user bindType: IFlyFlowerBindLogin]; 4.用户登出 [IFlyFlowerCollector SetUserBind: nil bindType: IFlyFlowerBindlogout]; ~~~ #### 2.设置channelID ~~~ [IFlyFlowerCollector setChannelID:@"testChannel"]; ~~~ #### 3.设置duid ~~~ [IFlyFlowerCollector SetDuid:@"testduid"]; ~~~ #### 4.判断设备是否越狱 ~~~ [IFlyFlowerCollector isJailbroken]; ~~~ #### 5.判断App是否被破解 ~~~ [IFlyFlowerCollector isPirated]; ~~~