DevStore首页 > DEV资源 > 服务评测下载 > 科大讯飞统计分析iOS版V1.0.7服务评测

科大讯飞统计分析iOS版V1.0.7服务评测

查看服务>>
DevStore编辑 刘艳丽 | 2015-03-11 11:00    浏览量(8342)    纠错    评论(5)    讯飞开放统计服务详情>>

服务评测作者

  • 18 能力值
  • 0 源码
  • 8 评测
  • 0 资料

评测目录

集成测试

评测环境

评测环境:

测试对象

科大讯飞iOS统计SDK v1.0.7

测试环境

MAC OS X(10.10) + Xcode (6.1)

测试设备

iPhone 5S

系统版本

iOS 8.1

设备网络

4G

测试方法

客户端运行实例+测试API接口

测试时间

2015-03-3 

测试时长

24小时


基本参数:

是否免费

免费

支持平台

Android、iOS

统计延时

1-3秒

单个事件参数上限

10

参数值上限

1000

无网络环境

支持

对应用运行的影响

耗流量

集成过程

客户端集成

一、如何快速集成讯飞SDK

注册讯飞开发者帐号->创建应用->下载SDK->集成开发->测试应用->发布应用

http://member.voicecloud.cn/index.php/default/register

1、创建新应用

科大讯飞开发了许多个SDK,包含语音、统计、广告、人脸识别、云存储等。因而,在创建应用的时候,开发者需要选择要集成的功能。如图:

创建新应用

之后在应用列表里会如下显示,提示您并未添加任何功能(开通服务)。

开通服务

点击立即开通之后我们选择《开放统计》

选择开放统计

2、下载iOS SDK

继上一步之后页面会自动跳转至SDK下载页面,如下:

SDK下载

提醒开发者注意,一定要先熟悉网站的逻辑之后在应用对应的SDK下载页面下载SDK。在这个页面中不止包含了SDK的下载,同时包含了创建应用所生成的AppID

,这个AppID需要在程序初始化SDK的时候使用。下载SDK后如下图:

下载SDK

二、集成开发

1、新建一个工程

新建一个工程

2、添加讯飞SDK

在SDK下载页面有关于导入SDK的说明,开发者可以按照说明导入SDK,在这里仅作简单的记录。

添加讯飞SDK

静态库文件在lib文件夹下,需要添加到工程,同时需要添加依赖CoreTelephony.framework,

CoreLocation.framework, 

libz.1.2.5.dylib,

SystemConfiguration.framework

此时便可以初始化和使用SDK了。

添加完成之后,我们需要确认静态库被正确的导入并且编译通过,Build一下,如果成功则导入SDK正确。

添加完成

3、基本功能集成

a.初始化SDK需要传入正确的AppID,并且需要在程序启动的时候初始化。

初始化SDK

b.开启崩溃收集功能

开启崩溃日志收集功能,默认情况下是打开状态。

开启崩溃收集功能

c.打开地理位置收集功能

打开地理位置收集功能

在文档中特别指出,如果打开地理位置收集功能需要在项目中添加CoreLocation.framework,并且引入#import <CoreLocation/CoreLocation.h>头文件。

这些功能的开启和关闭都很简单,而且如果想要完整的统计用户信息,需要在程序启动的时候就添加这些功能。

主要功能

统计用户信息,全面而准确的用户属性收集。

统计用户信息,全面而准确的用户属性收集

一个优秀的App是关注用户的,在一定的用户基数基础上的用户统计是不可缺少的----因为用户统计分析能够指导开发商优化应用提升用户体验。换个角度来讲,基于大数据的统计信息能从一个客观真实的角度来反映一个App的用户使用感受、态度甚至是App的质量。而这也是在互联网时代激烈竞争下App的生存之本。

讯飞统计从专业的角度分析了多个指标和参数供开发商参考,基本功能中的地理位置、用户属性、崩溃日志都能够在报表中体现。

用户统计

开启了Debug模式下我们可以在控制台中看到上传的数据信息

{"body":{"boot":[{"sid":"1425371227538f7090e9317be8e8b","ts":1425371227538}]},"header":{"deviceid":"9dde51c2bce9154136fe9429d111cbf2461fefe7","app.path":"\/private\/var\/mobile\/Containers\/Bundle\/Application\/60EDDAF3-5E82-44A3-A562-A10AA8F990B6\/iFlytek_Analytics.app","wap_proxy":"wifi","logtime":1425371227538,"app.pkg":"com.DevStore.iFlytek-Analytics","os.system":"iPhone OS","os.resolution":"640*1136","app.pirated":1,"appid":"54f06dff","app.name":"unknown","lang":"en-GB","os.release":"8.1.1","os.jailbreak":0,"app.ver.name":"1.0","ver":"1.0.7","os.model":"iPod5,1","os.manufact":"apple","channel":"appleStore"}}

我们可以看到在这些参数中诸如设备类型、下载渠道、网络状况、登录时间等都可以在网站的应用管理中体现,而且经过实际检测,一些数据的实时性是很高的(不可避免的我们应该忽略一些网络状况下不够实时的情况)。但是有一些不是实时性的数据或许会对开发者带来一些困惑。比如页面访问,经过询问讯飞客服人员之后了解到数据是在24h之后才能体现的,如果开发者需要使用这些功能就需要花费更长的时间去调试。

页面访问流

功能特色

1、设置用户属性

可以根据开发者的需要添加用户属性的收集,这些属性是有讯飞直接提供API的可以在需要的地方直接调用

a.设置性别

//设置性别为男性
  [IFlyFlowerCollector SetGender:Male];

在这个方法中的Male参数是一个宏定义,包含Female和UnKonwn三种。

b.设置用户年龄

//在实际应用中可能需要判断用户的年龄是否合法,或者所设置的年龄只是一个模糊的年龄
    [IFlyFlowerCollector SetAge:[textField.text intValue]];

c.设置用户ID

//设置用户ID
[IFlyFlowerCollector SetUserId:userID];

注:在实际开发中,开发者不一定需要显示的去让用户输入自己的信息,因为在大多数情况下,这会引起用户的反感或者用户输入一些错误的信息,但是聪明的你,是否可以通过用户的一些行为来判定用户的属性进而隐式的收集用户属性呢?

举个例子来说,笔者在商城应用中集成了统计,那么可以根据用户经常浏览的商品类型来判断其性别和年龄。既不打扰用户,又能收集到相对准确的数据,何乐不为呢?

2、页面停留时间的统计 

在需要统计市场的页面类中添加两个方法:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    //此页面需要添加时长统计,定义此页面名称为Mall
    [IFlyFlowerCollector OnPageStart:@"Mall"];
}
- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    //在页面消失的时候需要添加上结束的标识,务必使前后的页面名称保持一致
    [IFlyFlowerCollector OnPageEnd:@"Mall"];
}

3、添加自定义事件的统计

首先,开发者需要在网站的应用管理中添加事件

自定义事件

点击『事件设置』进入自定义事件设置界面

自定义事件设置界面

添加自定义事件

添加自定义事件

此外每个事件中还可以加入10个参数,可以通过API调用上传用户行为。点击事件后的『编辑』按钮

编辑事件

针对几个自定义事件的API笔者也专门定义了几个自定义事件添加在程序中,代码如下:

- (IBAction)buyAction:(id)sender {
    [IFlyFlowerCollector OnEvent:@"100" label:@"consume"];
    UIButton *btn = (UIButton *)sender;
    NSString *msg = [NSString stringWithFormat:@"您点击了%@按钮,代表一个自定义事件发生了,点击完成按钮会将统计信息发送至服务器",[btn titleForState:UIControlStateNormal]];
    [[[UIAlertView alloc] initWithTitle:@"提示" message:msg delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles: nil] show];
}
- (IBAction)quiteAction:(id)sender {
    [IFlyFlowerCollector OnBeginEvent:@"101"];
    [IFlyFlowerCollector OnEvent:@"101"];
    [IFlyFlowerCollector OnEndEvent:@"101"];
    UIButton *btn = (UIButton *)sender;
    NSString *msg = [NSString stringWithFormat:@"您点击了%@按钮,代表一个自定义事件发生了,点击完成按钮会将统计信息发送至服务器",[btn titleForState:UIControlStateNormal]];
    [[[UIAlertView alloc] initWithTitle:@"提示" message:msg delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles: nil] show];
}

DEMO展示

部分测试demo展示:

- (IBAction)doneBTClicked:(id)sender {
    [_ageTF resignFirstResponder];
    //这个函数只有在自定义事件下才能使用,因此在此处是无效的
    [IFlyFlowerCollector Flush];
    [[[UIAlertView alloc] initWithTitle:@"提示" message:@"如果您没有点击自定义事件,那么无法上传统计信息,因为Flus方法只针对自定义事件" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles: nil] show];
}

更多的代码请参考Demo

测试日志

开启了Debug模式

开启了Debug模式

如果调试窗口并没有打印信息并出现了invalid appid需要开发者检查一下SDK是否从相应的应用下载,并在初始化SDK的时候上传了一致的appId

收集到用户信息之后上传的时候会打印出上传数据的内容,如下:

上传数据

遇到问题

1.appId不可用:当控制台中打印出”invalid appid”的时候会让人很疑惑,在API中传入了正确的appId为何还会出现不可用的状态呢?这种情况下唯一的可能就是SDK不匹配,前文中笔者指出,一个appId对应一个SDK,SDK需要在应用管理页面下载。 

2.访问页面数据滞后:在开发过程中如果想要查看页面访问情况,发现并没有数据,询问技术支持之后了解到必须是24h之后才能显示。这点还是有些不便的,尤其是在开发过程中,但或许讯飞有着自己的考虑。

3.未知错误:针对上个问题遇到了超过一天而并未显示统计结果的。并且技术支持帮助我查看了后台日志也并未发现有记录,最后技术支持重新生成了一个静态库替换之后问题解决。

上手难易

讯飞统计SDK的体积不大,API数量和质量很高。尤其指出的是在下载SDK之后直接有提示,为开发者指出如何使用SDK,非常方便、友好。按照文档的步骤可以方便快速的集成SDK。此外在网站后台,数据种类很多,需要开发者熟悉图表和数据,以及业务术语,这样才能更高效的用好讯飞统计SDK。

开发文档

下载完成SDK之后有一个文件夹中存放着接入指南,或者开发者可以参考网站文档中心

http://open.voicecloud.cn/index.php/services/analysis/mobileappDoc?itemTitle=a3RmdQ

此服务评测版权归DevStore所有,禁止转载,申请升级为 特约评测员 才可进行测评立即申请

声明:DevStore评测内容都是基于专业评测人员/开发者通过真实的测试之后得出的数据,服务版本实时都在更新,所以评测并不一定是此服务的最新版本,但我们会秉承公正专业精准的态度,对开发者负责,同时欢迎大家监督和建议,如对评测内容有异议,请提交纠错,由专业的评测团队再次评测,我们会尽最大努力为大家提供更贴心的服务。

DevStore_全球首家第三方开发者服务商店,最精准的服务对比、最专业的服务评测、最及时的行业动态,为开发者挑选服务提供最全面的参考和专业分析,加入DevStore,从此告别熬夜加班,你也可以这么帅!搜索微信号:DevStore

评论(5)
亮亮2046

亮亮2046 2016-08-11 23:51:14

讯飞的还是不错的
回复(0) 赞(1) 赞(2)
jiajia756

jiajia756 2015-07-31 16:10:29

讯飞语音合成没有尝试,尝试了语音测评,效果还好,有些不准确,还有就是,获取不到每个单词的音标,每个单词读音音标的正确标注没有,这是一个小缺点吧,其它还没有什么发现。
回复(0) 赞(0) 赞(1)
射手福尔摩斯

射手福尔摩斯 2015-05-18 16:42:56

讯飞的统计有集成调试功能
回复(0) 赞(0) 赞(1)
eleven_cloud

eleven_cloud 2015-03-13 14:49:31

讯飞的统计有集成调试功能
回复(0) 赞(0) 赞(1)
maxwell

maxwell 2015-03-13 10:34:32

沙发沙发沙发
回复(0) 赞(0) 赞(1)