小米更新后vegas无法打开avii

完美解决小米小盒子更新后无法“快捷安装”第三方软件_小米盒子论坛
只需一步,快速开始
扫一扫,访问微社区
后使用快捷导航没有帐号?
TV应用下载 / 资源分享区
综合交流 / 产品评测 / 活动公告
新手入门 / 社区互助
查看: 72563|回复: 12
本帖最后由 hao 于
18:41 编辑
小米小盒子用户交流群:<font color="#0668770&&欢迎加入交流!
小米小盒子系统升级到(1.3.76稳定版)的朋友都发现,在小米小盒子的主界面应用商店—用户界面,”快捷安装”消失了,那怎么安装第三方呢?下面介绍通过手机投屏神器安装软件的方法。
小米投屏神器,它是一款投屏软件,当手机和电视在同一无线网络时,你可以轻松把手机中的照片、视频投射到电视上,还可以轻松的对小米小盒子进行软件安装!
准备工具:安卓系统手机一部。
1、打开手机上的浏览器,搜索“小米投屏神器”下载并安装到手机上。
61.jpg (78.47 KB, 下载次数: 30)
14:39 上传
2、 在手机浏览器,百度搜索“”,下载当贝市场apk软件包,保存到手机上,注意:下载完成之后不需要安装到手机上。
62.png (382.73 KB, 下载次数: 33)
14:39 上传
3、打开“小米投屏神器”点击屏幕右下角的“连接按钮”选择并连接上需要安装软件的小米小盒子设备。注意:小米小盒子和手机必须在同一局域网内!
63.png (288.88 KB, 下载次数: 30)
14:39 上传
4、在小米投屏神器主界面,我们可以看到最上面的“看视频”“投照片”“装应用”三个选项,我们需要给小米小盒子装软件的话,进入“装应用”选项进行;
步骤:“装应用”——安装包——找到当贝市场APK——点击安装——输入电视上面显示的验证码——继续安装——安装完毕!
64.jpg (83.71 KB, 下载次数: 30)
14:39 上传
5、当贝市场安装好之后,就可以随意在当贝里面安装你需要的第三方 直播、点播、....等应用,((有了当贝市场,就可以随意安装其他软件了,海量应用,简单方便!)&&小米小盒子用户交流群:<font color="#0668770&&欢迎加入交流!
65.png (455.23 KB, 下载次数: 31)
14:39 上传
上一篇:下一篇:
小米这脑残的设计,ios端的小米投屏神器根本找不到本地下载的apk包,然后就陷入死循环,还好手上有一套安卓的备用机,要不然真的要郁闷了
完美解决!
不错 学习了
权限开不了,这个方法还不错
看起来很简单,试试能不能成功吧!
本来以为好了,可是最后一步的时候,电视上居然说内存不够啊,没有办法安装怎么办?
请问如果我只有一个小米小盒子和电脑,没有安卓手机,我该如何在升级后的小盒子上安装第三方软件?
小盒子先在小米的市场里安装一个应用管家。 就是这个/apk/tool/5.html , 里面有个远程安装的功能 ,再把apk推送进去。&
请问如果我只有一个小米小盒子和电脑,没有安卓手机,我该如何在升级后的小盒子上安装第三方软件? ...
小盒子先在小米的市场里安装一个应用管家。 就是这个& && &,& &里面有个远程安装的功能&&,再把apk推送进去。
浏览过的版块
增值电信业务经营许可证:浙B2- 丨 杭州市公安局滨江分局备案编号:71
Powered by Discuz!
监督举报:小米平板不能播放AVI视频怎么办?
小米平板不能够直接播放本地的AVI视频,需要借助第三方APP实现,现在给大家介绍怎么打开AVI等视频哦
1、点击应用商店
2、点击右上角的放大镜搜索
4、找到MX Player,点击旁边的【安装】
5、可以看到进度条
6、完成后,会变为【打开】,点击【打开】就可以使用了。
7、会智能找到并显示本地的视频文件。
8、看看效果,可以打开了。
如果您喜欢本文请分享给您的好友,谢谢!
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)技术文档 | 小米应用开发者文档 | Page 7
如果您在集成过程中遇到任何问题,都可以添加QQ群: ,群中会有工程师解答您的问题。
新增网络监控功能
新增DNS监控功能
小米统计服务是一项面向移动应用开发者的数据统计服务,目前支持Android和iOS两大平台。 开发者集成小米统计服务SDK并启用统计服务后,应用的数据将通过网络传输给小米统计服务的服务器,开发者通过小米统计服务提供的统计后台可以查看数据的统计分析结果,为应用的体验优化和运营推广提供数据参考。 使用小米统计服务可以实现:
分析用户参与情况和设备属性信息;
对比参看渠道推广的数量和质量;
通过自定义事件可以定制化地统计用户各类操作和属性数据;
将具有共同特征的用户标记为一个用户群后,可以查看该用户群的各项数据统计指标
查看报表时可以按照渠道、版本和用户群进行组合筛选,并支持同时查看多组筛选
统计和管理应用崩溃错误
实时监控网络请求质量
目标 快速了解应用的核心指标 主要内容 昨日用户概况:展示累计总用户数、新增用户数、日活用户数、启动次数和月活用户数的昨日数据,并与前一天比较日变化比例。
今日实时数据:应用的新增用户和启动次数可以实时查看今日每小时的数据,还可以与昨天、7天前和30天前的数据进行对比。
趋势数据:展示新增用户、日活用户和启动次数这三个指标最近一段时间内的趋势变化情况。
2个渠道排行:基于昨日的数据,提供了新增用户TOP10渠道和日活用户TOP10渠道的排行。 常见问题 新增用户是如何定义的? 新增用户即安装该应用的新增设备,卸载重装或清除应用数据后也会被认为是一个新增用户。
目标:详细展示用户新增、活跃、留存和使用等用户参与指标的数据变化情况,为开发者日常的产品运营提供数据参考。
新增与启动
该报表展示了新增用户、启动次数、人均启动次数和总用户的趋势变化,支持按照版本、渠道和用户群的组合筛选。
常见问题 如何定义启动次数?
启动次数指应用启动在前台的次数,iOS应用退到后台即认为结束一次启动,Android应用相邻2次启动的时间间隔如果在30秒内会视为一次启动。
该报表提供应用的日活用户、周活用户和月活用户的趋势统计,支持按照版本、渠道和用户群的组合筛选。 日活用户:当日至少启动过一次应用的设备数。 周活用户:当日之前的7天内(包括当日)至少启动过一次应用的设备数。 月活用户:当日之前的30天内(包括当日)至少启动过一次应用的设备数。
新用户留存
该报表提供的是针对应用新增用户的留存情况统计,支持按照版本、渠道和用户群的组合筛选。 留存率的定义为统计日新增用户中,在新增日后第N天启动过应用的用户比例即为统计日新增用户的第N日留存率,简称N日留存。
该报表分为分布和趋势两大部分。 第一部分提供了昨日使用时长的2个区间分布:用户使用时长分布即当日活跃用户的使用时长分布;单次使用时长分布即当日每次启动的使用时长分布。 开发者还可以直接添加对比日期,来对比不同时间里使用时长分布的变化情况。
第二部分提供了人均使用时长和次均使用时长的趋势统计,支持按照版本、渠道和用户群的组合筛选。
该报表中提供了各个版本的核心数据,支持按照渠道和用户群的组合筛选。 趋势图中展示的是当前所选时段中最后一日的日活用户数排名前五的版本的各项数据,支持添加对比版本进行比较;详细数据表格内提供了在统计日内历史所有版本的核心数据指标。
常见问题 新增用户和升级用户的定义有什么不同?
新增用户指第一次启用此应用的用户,卸载重装或清除数据后再使用会视为新增用户。升级用户指从别的版本升级到此版本的用户。 也就是说,新增用户是应用的新用户,而升级用户只是该版本的新用户,对应用来说并不是新用户。
该报表提供了应用内所有页面访问次数和人数的统计,支持按照版本、渠道和用户群的组合筛选。 趋势图中展示了统计日当日访问次数排行前五的页面及其访问数据。详细数据表格中展示了应用每个页面的访问次数、访问人数以及在整个应用中的占比。
目标:让开发者可以横向对比不同渠道用户的数量和质量数据。 主要内容 这部分报表中提供了各个渠道的核心数据,支持按照版本和用户群的组合筛选。 趋势图中展示的是当前所选时段中最后一日的日活用户数排名前五的渠道的各项数据,支持添加对比渠道进行比较;详细数据表格内提供了在统计日内历史所有渠道的核心数据指标。
目标:帮助开发者定制化地统计用户操作或属性信息,为一个操作或特征建立一个对应的自定义事件,就可以统计针对该操作或特征的用户行为,统计结果还支持渠道和版本的组合筛选。 主要内容 自定义事件为应用自行上报的打点统计,具体包括四种类型:字符串属性事件、数值属性事件、计数事件和计算事件,事件数据均支持按照渠道和版本的组合筛选。
字符串属性事件
此类事件用于记录一个用户(对应到设备)的某个属性值,如性别,一个用户拥有性别这个事件对应的一个值,如果该用户再次提交了这个事件的其他值就以新的值覆盖旧的。 此类事件的值是作为字符串保存的,没有数值意义。 此类事件提供了统计日当日人数(当天完成了该事件的去重设备数)、累计人数(截止当日完成过该事件的累计去重设备数)和事件的取值分布。
数值属性事件
与字符串属性事件使用场景类似,数值属性事件也是用来记录用户的属性值,同一个用户提交的新值会覆盖旧值。不同之处在于数值属性事件的值是作为数值保存的,有数值意义,比如年龄。 此类事件提供了当日人数、累计人数、累计人均取值(即截止当日该事件上报取值的总和/该事件的累计人数*100%)和取值分布图。
此类事件用于记录一个事件累计发生的数量,每发生一次就增加1,经典的使用场景是记录各种按钮的点击事件。 计数事件提供了发生的次数、人数和人均次数三个指标。
此类事件不仅可以记录事件发送的数量,还能记录每次发生的数值。比如充值行为就是一个典型的计算事件,开发者既需要知道充值行为发生的次数、人数和人均次数,也需要知道充值的总金额、人均充值金额和次均充值金额。 计算事件除了具有计数事件的发生次数、人数和人均次数指标之外,还有取值总和、人均取值和次均取值三个指标。
2.4.4. 自定义事件限制
1、自定义事件的key,事件取值,事件参数的key和参数的取值都不可以超过128字符。超过128字符的事件、事件参数或者取值都不参与计算。
2、单个app的不同自定义事件的key的个数累计不超过10000个。超过10000时,自动取最新的,发生次数最多的10000个
3、单个计算事件、计数事件的取值最多可以添加10个参数,超过10个参数时,只保留最新和发生次数最多的10个参数。
4、自定义事件的取值、事件参数的取值,不同值的个数不超过10000个。当超过10000个不同取值时,截取发生次数最多的10000个值。
目标:提供用户设备基本信息的收集和统计,帮助开发者了解用户设备属性、网络使用情况和地区分布。
该报表分为三个部分,分别提供了机型、分辨率和系统版本三项数据。 以机型数据为例,趋势图中展示的是统计日当日的新增用户和日活用户排名前十的机型;详细数据表格内提供了在统计日内所有机型的新增用户和日活用户数。
网络与运营商
该报表分为两个部分,分别提供了联网方式和运营商三项数据。运营商统计与设备属性统计的报表结构一致。网络统计比较特殊,统计的指标是不同联网方式下的启动次数,并支持添加对比日期。
提供国家和国内省份的新增用户和日活用户数据,帮助开发者了解用户的地区分布情况。
自定义事件
详见2.4事件统计的表述
用户群是开发者自定义的筛选条件,可以用来筛选各类数据指标。 用户群的定义建立在自定义事件的基础上,每个应用最多可同时拥有5个用户群,用户群建立后只能删除不能编辑。
如何新建用户群? 在设置-用户群页面内点击“新建用户群”按钮
在新建用户群的页面内根据地区或应用当下已上报的自定义事件去设计用户群中的用户需要满足的条件,可以同时使用多个自定义事件,即要求同时满足多个事件条件。
如何使用不同类型事件设计用户群条件?
字符串属性事件
可指定该事件上报过的取值,可多选,多选是任一一个取值满足即符合条件的意思。 例如使用字符串属性事件“教育程度”,取值规则中选择了“本科”、“研究生”两个取值,含义是说用户的教育程度是本科或研究生的就符合该用户群条件。
数值属性事件
可指定取值“大于等于某数”或“小于等于某数”。 例如使用数值属性事件“年龄”,取值规则设定为“大于等于20”,含义是说大于等于20岁的用户符合该条件。
可指定当日最少发生次数或最多发生次数。 例如使用计数事件“点击地理位置按钮”,取值规则设定为最少发生1次,含义是说当天至少点过1次地理位置按钮的用户符合该条件。
计算事件:
可指定以下取值规则:当日最少发生次数、最多发生次数、当日取值大于等于某数、当日取值等于某数或当日取值小于等于某数。 例如使用计算事件“充值金额”,取值规则如设定为最少发生1次,即当天至少充值过1次的用户符合该条件;取值规则如设定为当日取值大于等于100,即当天充值金额当于等于100的用户符合该条件。
目标:统计在实际使用中应用的崩溃错误数量和错误详情,帮助开发者得知问题、定位问题、按版本管理问题状态。 主要内容 这部分报表中提供了崩溃错误的统计、错误列表和错误详情。
错误统计中提供了每天应用的崩溃错误次数、错误率(错误率=当天发生错误的次数/应用启动次数*100%)、报错设备数和报错设备占比(报错设备占比=当天报错的设备数/活跃设备数*100),支持按应用版本筛选查看。
错误列表和错误详情
错误列表中展示了各类错误最近发生时间、发生次数、状态、版本(最近报错的)及查看错误详情的入口。列表支持按版本和错误状态筛选查看,也可以通过列表批量编辑错误状态。
错误详情中可以查看和编辑该错误状态,查看错误详情,及该错误在机型和系统版本上的分布情况,降低开发者定位问题的成本。
目标:帮助开发者了解应用的整体网络访问质量,定位网络问题的影响范围。 主要内容 这部分报表中提供了监控概况和请求数、平均请求时长、错误率三个关键指标的统计报表。
5.1. 监控概况
监控概况中提供了请求数、平均请求时长、网络错误率和HTTP错误率的趋势数据,同时提供了平均请求时长和网络错误率的地区分布,选择具体地区后可以查看该地区的趋势数据。
设置过需要监控的具体URL后,可以查看每个URL的数据。
5.2. 请求数和平均请求时长
请求数和平均请求时长的报表结构类似,以下以请求数为例说明。 请求数报表提供了请求数的变化趋势图、地区分布图、网络和运营商分布表,支持指定具体的URL查看。 想查看具体某个时间点的详细信息时,只需在请求数趋势图中点击该点,下方的地区、网络和运营商数据将会更新为该点的数据。 地区分布图中点击某个地区即可查看该地区的趋势数据。 请求数的网络运营商分布表展示了在不同网络和运营商下的请求数、占比和趋势。
网络监控中的错误分为网络错误和HTTP错误两大类,两类错误报表结构一致,以下以网络错误为例。 网络错误报表不仅提供了整体网络错误的变化趋势图、地区分布图、网络和运营商分布表,还提供了错误类型的分布数据,上述数据均支持指定具体的URL查看。
5.4 DNS监控
DNS监控功能为开发者提供了监控域名解析出的IP是否有被劫持的状况以及劫持的严重程度。正常情况下,用户在网络监控中添加监控的域名会被解析成对应的IP地址。但某些情况下这一解析过程可能会被运营商或其他服务劫持,解析成错误的域名,将使用者导向自己的页面,损害到用户与开发者的利益。因此我们提供了DNS监控的服务,帮助开发者识别出正确的域名,判断域名被劫持的状况。
5.4.1 DNS监控
如图所示,页面中展示了监控域名的概况,左侧栏为所有监控域名列表,右侧为选定域名的DNS监控问题率趋势。首次使用DNS监控时,系统默认会将该域名所有解析出来的IP都默认为问题IP,需要用户手动设置IP白名单,即将解析正确的IP加入白名单中,添加白名单后就可以正常查DNS问题率趋势了。
5.4.2 IP白名单设置
用户可以通过DNS监控页面快速设置IP白名单,也可以在此页面中集中管理和设置每个监控域名的IP白名单,同时也可以进行删除操作。
1、小米统计的使用范围
小米统计目前支持Android和iOS两大平台。
2、如何启用小米统计?
如果开发者在下已有应用,可以直接在应用的页面内进入小米统计服务来启用服务。否则就需要您新建一个应用再启用小米统计服务。 启用后开发者就可以进行统计SDK的集成测试了,我们不同平台的SDK文档地址如下: Android版: iOS版:
3、小米统计是否会收费?
小米统计作为小米开发者服务中的基础服务会永久免费。
4、有些统计指标我不太理解该怎么办?
可以查看页面上的?内有当页统计指标的说明
可以查看小米统计的产品说明文档:
可以联系小米统计的产品经理:赵宇斌
附录:全部统计指标定义
即独立设备,Android按设备的IMEI、序列号和Android ID确定的唯一设备;iOS按照设备的UDID确定。
累计总用户数
开始使用小米统计服务后所有新增用户的总和。
新增用户数
新增的设备数,卸载重装或清除应用数据后也会算作一个新增用户。
从别的版本升级到此版本的用户
日活用户数
当日至少启动过一次应用的设备数。
当日应用启动在前台的次数,iOS应用退到后台即认为结束一次启动,Android应用相邻2次启动的时间间隔如果在30秒内会视为一次启动。
人均启动次数
日活用户的平均启动次数。
周活用户数
统计日之前的7天内(包括统计日当日)至少启动过一次应用的设备数。
月活用户数
统计日之前的30天内(包括统计日当日)至少启动过一次应用的设备数。
次日留存率
某日新增用户中,在新增日后的第一天启动过应用的用户比例。
某日新增用户中,在新增日后的第三天启动过应用的用户比例。
某日新增用户中,在新增日后的第七天启动过应用的用户比例。
30日留存率
某日新增用户中,在新增日后的第三十天启动过应用的用户比例。
用户在前台使用应用的时间长度。
用户使用时长分布
统计日活跃用户的使用时长分布
单次使用时长分布
统计日每次启动的使用时长分布
人均使用时长
统计日活跃用户平均每人使用应用的时间,精确到秒
次均使用时长
统计日应用启动中平均每次启动的使用时间,精确到秒
Android按activity或fragment上报,iOS按 UIViewController的名字或自定义上报
在SDK初始化时由应用客户端设置的渠道信息
应用当前版本号
该页面访问PV
该页面访问UV
自定义事件
应用自行上报的打点统计,分为4种类型:字符串属性事件、数值属性事件、计数事件和计算事件。
字符串属性事件
此类事件用于记录一个用户(对应到设备)的某个属性值,如性别,一个用户拥有性别这个事件对应的一个值,如果该用户再次提交了这个事件的其他值就以新的值覆盖旧的。此类事件的值是作为字符串保存的,没有数值意义。
数值属性事件
与字符串属性事件使用场景类似,数值属性事件也是用来记录用户的属性值,同一个用户提交的新值会覆盖旧值。不同之处在于数值属性事件的值是作为数值保存的,有数值意义,比如年龄。
此类事件用于记录一个事件累计发生的数量,每发生一次就增加1,经典的使用场景是记录各种按钮的点击事件。计数事件我们提供发生的次数、人数和人均次数三个指标。
此类事件不仅可以记录事件发送的数量,还能记录每次发生的数值。除了具有计数事件的发生次数、人数和人均次数指标外,计算事件还有取值总和、人均取值和次均取值三个指标。比如充值行为就是一个典型的计算事件,开发者既需要知道充值行为发生的次数、人数和人均次数,也需要知道充值的总金额、人均充值金额和次均充值金额。
用户群是开发者自定义的筛选条件,可以用来筛选各类数据指标。用户群的定义建立在自定义事件的基础上,每个应用最多可同时拥有5个用户群。
错误分析- 错误次数
当天发生的错误总数
错误分析-错误率
错误率=当天发生错误的次数/应用启动次数*100%
错误分析-报错设备数
当天发生错误的设备总数
错误分析-报错设备占比
报错设备占比=当天报错的设备数/活跃设备数*100%
网络监控-请求数
在集成SDK时调用URLStatsRecorder#enableAutoRecord,即可实现Http(s)URLConnection网络访问信息的自动采集,请求数指通过该方式采集到的网络访问次数
网络监控-平均请求时长
平均请求时长=总时长/成功请求数*100%
网络监控-网络错误率
网络错误率=网络错误次数/总请求数*100%
网络监控-HTTP错误率
HTTP错误率=HTTP错误次数/总请求数*100%
This entry was posted in
如果您在集成过程中遇到任何问题,都可以添加QQ群: ,群中会有工程师解答您的问题。
1、小米统计的使用范围
小米统计目前支持Android和iOS两大平台。
2、如何启用小米统计?
如果开发者在下已有应用,可以直接在应用的页面内进入小米统计服务来启用服务。否则就需要您新建一个应用再启用小米统计服务。
启用后开发者就可以进行统计SDK的集成测试了,我们不同平台的SDK文档地址如下:
Android版:/doc/p=3995/index.html
iOS版:/doc/p=3998/index.html
3、小米统计是否会收费?
小米统计作为小米开发者服务中的基础服务会永久免费。
4、有些统计指标我不太理解该怎么办?
* 可以查看页面上的?内有当页统计指标的说明
* 可以查看小米统计的产品说明文档:/doc/?p=4003
* 可以联系小米统计的产品经理:赵宇斌
This entry was posted in
Screen Size
47-inch(LG/Samsung)
49-inch(LG/CSOT)
Resolution
The twenty-eight nm Qualcomm Snapdragon 600 MPQ8064
Quad-core 1.7GHz
Mali-450MP4
2048MB DDR3 dual-channel
2.4GHz/5GHz
2.4GHz/5GHz
802.11a/b/g/n,2x2MIMO
802.11a/b/g/n,2x2MIMO
Android 4.1.2
Android 4.3
Audio Formats
Dolby Digital Plus、DTS
Dolby Digital Plus、DTS
Picture Formats
H.264、VC-1、WMV、MPEG1/2/4 up to 1080P@30 frame/sec;real7/8/9 up to 720P@30 frame/sec
H.265、H.264 support 4K@30fps;MPEG1/2/4、real7/8/9 up to 1080P@60 frame/sec
Video Formats
RM、FLV、MOV、AVI、MKV、TS、MP4
RM、FLV、MOV、AVI、MKV、TS、MP4
Miracast、WiDi
Miracast、WiDi
Pictures, audios and videos via AirPlay(TM)、DLNA protocol
Pictures, audios and videos via AirPlay(TM)、DLNA protocol
Multiple Screens Support
Please refer to
to optimize your game UI for different screen configurations.
Display specs
MiTV1、MiTV2
Screen size
large(960dpx540dp)
Screen pixel density(dpi)
Orientation
Aspect ratio
This entry was posted in
如果您在集成过程中遇到任何问题,都可以添加QQ群: ,群中会有工程师解答您的问题。
1. 客户端SDK功能概述
在使用小米统计服务前,开发者需要先登录小米开发者网站 ,注册app,申请AppId,
AppKey。其中AppId和AppKey是客户端的身份标识,在客户端SDK初始化时使用。然后下载最新的SDK压缩包,其中包括了iOS SDK和iOS
Demo。SDK以.a动态链接库的形式提供, 开发者只需在原有编码基础上添加少许代码,即可完成接入小米统计服务。
统计服务iOS客户端SDK所有的接口都封装在MiStatSDK中,主要功能接口请参考第3节API说明。应用在启动时,需要调用+
(void)registerMiStat:(NSString*)channel 方法来初始化统计服务,之后便可按照统计的业务需求,调用统计数据上报接口上报统计打点。
SDK提供了接口给开发者来设置向小米统计服务器上报统计数据的策略,开发者可以在任意时候调用修改策略。客户端SDK上报的数据包括默认事件统计、session统计(用于统计app的活跃度、打开频率、使用时长等)、页面访问统计和自定义事件统计。
统计服务提供app的崩溃日志收集功能。功能开启后,对于app在使用过程中的崩溃,SDK将自动采集崩溃日志,并上传到统计后台;统计后台会根据app版本,对崩溃进行聚合、展示。开发者可以根据app实际情况情况,将该崩溃标记成已处理或者忽略状态。
统计服务提供app的网络使用情况的收集。开启后可以对基于NSURL的所有请求进行记录,并上传到统计后台;后台分请求数,时长,错误等进行聚合,展示。
2. SDK集成说明
本节主要介绍如何配置和使用小米统计SDK,开发者也可以参照SDK中的demo来配置和使用小米统计SDK。
2.1. 搭建XCode运行环境
我们的libMiStatSDK库文件同时包含i386、armv6和armv7的代码,所以libMiStatSDK将同时支持真机与模拟器。
小米统计服务iOS版支持的最低系统版本iOS4.3
添加libMiStatSDK.a , MiStatSDK.h,MiStatCrashReporter.h,MiStatNetwork.h 到工程
引入库 libz.dylib,SystemConfiguration.framework,MobileCoreServices.framework
(如果已经引入,请忽略)
2.2. 配置SDK运行参数
运行SDK注册小米统计服务的时候,需要使用AppId,AppKey,等参数来验证使用者的合法性。
打开工程下资源文件Info.plist
文件为源代码形式打开,添加以下信息
&key&MiSDKAppID&/key&
&string&1000888&/string&
&key&MiSDKAppKey&/key&
&string&&/string&
MiSDKAppId, MiSDKAppKey 为在小米开发者网站。注册App,申请的AppId,
3. 常规数据统计
3.1. 初始化统计服务
当应用启动时候,需要调用统计SDK中的初始化方法,应用对应的渠道号。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[MiStatSDK registerMiStat:@"channel"];
3.2. 数据上报策略
小米统计服务SDK会先把数据记录缓存在本地,然后根据开发者设定的数据上报策略,触发上报流程。SDK中提供了一系列数据上报策略供开发者选择,这些策略包括:
UPLOAD_POLICY_TYPE_REALTIME 实时上报。每当有一条新的记录,就会激发一次上报。
UPLOAD_POLICY_TYPE_WIFI_ONLY 只在WIFI下上报。当设备处于WIFI连接时实时上报,否则不上报记录。
UPLOAD_POLICY_TYPE_LAUNCH 启动时候上报。每次应用启动时候,会将上一次应用使用产生的数据记录打包上报。
UPLOAD_POLICY_TYPE_INTERVAL
指定时间间隔上报。开发者可以指定从5分钟-1天之间的任意时间间隔上报数据记录。需要注意,采用此策略上报,SDK做不到严格的遵守开发者设定的间隔,而会根据应用数据采集的频率和设备休眠策略,会有一定的偏差。
UPLOAD_POLICY_TYPE_DEVELOPMENT
调试模式。使用此策略,只有开发者手动调用一个接口才会触发上报,否则在任何情况下都不上报。SDK中提供了一个+
(void)triggerUploadM方法用于手动触发。这种策略主要用于开发者调试时候可手动控制上报时机,便于做数据对比。
小米统计服务的本地缓存最长会保存3天,只要在3天内上报流程被触发,就会将本地之前没上报成功的所有数据打包上报。如果数据上报成功,则会把已经成功的数据从本地删除。
设置上报策略的代码示例如下:
[MiStatSDK setUploadPolicy:UPLOAD_POLICY_TYPE_LAUNCH interval:0];
3.3. 默认事件
为了提供一些app所共有的统计维度,小米统计SDK会默认采集如下一些应用信息作为事件上报到小米统计后台:
用于实时统计应用的新增人数
应用第一次初始化统计服务
用于实时统计每个版本的升级人数和升级时间
应用每次版本更新后第一次启动
用于统计机型分布,并可将机型设置为其它统计项的过滤条件
应用第一次初始化统计服务
用于统计运营商分布信息
应用第一次初始化统计服务
用于标识某个特定的设备
应用第一次初始化统计服务
用于统计系统版本分布,并可将版本设置为其它统计项过滤条件
应用第一次初始化统计服务
用于统计语言的分布
应用第一次初始化统计服务
用于统计应用渠道分布情况,并为其它统计项提供实时过滤
每次数据上报
用于统计应用版本分布情况,并为其它统计项提供实时过滤
每次数据上报
用于统计用户在打开应用时候的网络分布情况
每次session上报
3.4. session
小米统计服务将从用户打开应用开始,到离开应用并且超过30秒结束,这一段时间我们定义为一个session。session主要用于开发者观察用户的使用时长、打开次数等统计项。
SDK自动计算出用户使用的session数据。
3.5. 页面访问
在记录session的同时,小米统计SDK也会记录下用户页面之间的跳转,每条页面跳转的数据记录了用户在一个session当中所有的页面访问记录。
如果页面名称传入空,则SDK会直接采用activity的完整类名来作为页面名称。
示例代码如下:
- (void)viewDidAppear:(BOOL)animated
[MiStatSDK recordPage:@"UIViewController"];
3.6. 自定义事件
除了默认事件、session和页面访问外,小米统计服务提供了自定义事件的上报。开发者可结合应用的业务逻辑,添加自定义事件的统计。每个自定义事件有如下4个属性:类别(category)、主键(key)、值(value)和类型(type)。这4个参数的的含义和作用如下:
自定义事件的类别,开发者可使用该参数对自定义打点做整理归类,方便在有大量的自定义事件时在数据统计后台快速定位到相应的事件。类别是一个可选的参数,如果这个值为空,统计SDK会将该事件放入默认&#303#30340;类别中。
key 自定义事件的主键,作为该事件的唯一标识。
value 自定义事件的值,根据事件类型不同,值会有字符串和数值两种类型。
type 自定义事件的类型。根据不同的业务上报逻辑,我们将自定义事件分成如下4种类型:计数(count)、计算(calculate)、字符串属性(string
property)和数值属性(numeric property)。每个类型的详细解释如下:
计数和计算类型的事件,除了上述属性之外,还可以增加事件参数(参见API说明部分)。
事件参数可以以更丰富的维度展示与该事件相关的数据。比如,游戏应用中的一种消费行为,开发者对发生该事件的用户性别,等级,年龄等感兴趣,就可以将性别,年龄,等级均设置为消费事件的参数;这样,对于该消费事件,除了统计发生次数外,还会展示事件发生时,用户的性别,年龄和等级的分布情况。
每个自定义事件最多可以传10个不同的参数。
3.6.1. 计数类型
计数类型事件通常用来描述一个事件累积发生的次数,适用的场景如按钮点击、界面进入、用户输入等。这类事件的上报代码如下:
[MiStatSDK recordCountEvent:@"button_click"];
[MiStatSDK recordCountEvent:@"button_click" dictionary:nil];
每次调用需要传入分类和主键,这类事件的value都隐式的被设置成数字“1”,不需要单独设置。统计后台会对这类事件做总发生次数、总覆盖用户数等统计计算。
3.6.2. 计算类型
计算类型事件通常用来描述一个带数值的事件的发生,适用的场景如用户消费事件,附带的数值是每次消费的金额;下载文件事件,附带的数值是每次下载消耗的时长等。这类事件的上报代码如下:
[MiStatSDK recordCalculateEvent:@"buy_book" value:8];
[MiStatSDK recordCalculateEvent:@"buy_book" value:8 dictionary:nil];
每次调用需要传入分类、主键和对应数值,其中数值是一个long型的整数。统计后台会对这类事件做累加、分布、按次平均、按人平均等统计计算。
3.6.3. 字符串属性类型
字符串属性类型通常用来描述某个具备字符串特征的属性,适用的场景如用户性别、用户职业、用户爱好等,这类属性的取值是一个字符串值。这类事件的上报代码如下:
[MiStatSDK recordPropertyEvent:@"user_profile" string:@"girl"];
每次调用需要传入分类、主键和字符串值。对于同一主键的字符串属性,一个设备只会保存一个,即,一个设备上报多次同一个主键的字符串属性类型,统计服务后台只会保存和统计最新的属性。
3.6.4. 数值属性类型
数值属性类型通常用来描述某个具备数值特征的属性,适用的场景如用户年龄、工作年限、游戏等级等,这类属性的取值是一个整型数值。这类事件的上报代码如下:
[MiStatSDK recordPropertyEvent:@"age" numeric:18];
每次调用需要传入分类、主键和数值。和字符串属性一样,对于同一主键的数值属性,一个设备只会保存一个,即,一个设备上报多次同一个主键的数值属性类型,统计服务后台只会保存和统计最新的属性。
3.7. 集成测试
我们提供了集成测试模块,通过简单的几个步骤,即可以观察到通过小米统计上传的数据,判断统计是否生效;集成测试的数据和正式数据完全隔离,互不干扰。具体步骤如下:
步骤一,增加测试设备。在统计数据网站中,点击进入“集成测试”项。通过在手机端调用[MiStatSDK getDeviceID]获取设备标示,增加到测试设备中。
图 1. 添加测试设备
步骤二,客户端上传统计数据,新增的测试设备统计数据会自动展示在测试日志列表中,点击可以查看该统计日志的详情。
图 2. 查看设备统计数据
图 3. 统计日志详情
4. 崩溃收集
应用程序发布后,在使用过程中,可能因为各种原因而崩溃。小米统计服务内置了崩溃日志上报功能。根据参数不同,开发者可以选择手动上传,或启动时上传崩溃日志,也可以选择和常规统计数据相同的上报策略。
日志收集的内容类似.crash文件,CallStack内容不是明文(内存地址)。所以,通过日志文件跟提交的dSYMs文件,需要进一步还原才能获得有效信息。
4.1. 初始化服务
当应用启动时候,需要调用统计SDK中的初始化方法。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[MiStatSDK enabledCrashReportWithMode:MI_STAT_CRASH_REPORTER_MODE_AUTO];
4.2. 崩溃上报策略
当有Crash发生时,SDK会把数据记录保存在本地。当app再次启动时,根据开发者设定的上报策略,触发上报流程。SDK中提供了一系列上报策略供开发者选择,这些策略包括:
MI_STAT_CRASH_REPORTER_MODE_AUTO 启动App时, 有Crash自动上报。
MI_STAT_CRASH_REPORTER_MODE_SYNC 遵循常规统计上报时机。
MI_STAT_CRASH_REPORTER_MODE_MANUAL 开发者处理上报时机。
本地只缓存最后一次Crash信息,如果数据上报成功,则会从本地删除。
设置上报策略的代码示例如下:
[MiStatSDK enabledCrashReportWithMode:MI_STAT_CRASH_REPORTER_MODE_AUTO];
手动上报策略的代码示例如下:
[MiStatCrashReporter enabledCrashReportWithMode:MI_STAT_CRASH_REPORTER_MODE_MANUAL];
if ([MiStatCrashReporter hasPendingCrashReport]) {
[MiStatCrashReporter triggerUploadCrashReport];
5. 网络请求
app在运行期间,基于NSURL的请求都会被收集到。
5.1. 初始化服务
当应用启动时候,需要调用初始化方法。
如果希望对url地址信息进行筛选或过略,可以实现对应delegate,并返回相应url字符串即可。返回的url才是真正上报的内容。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[MiStatNetwork enableAnalyticsNetwork:self];
#pragma mark - MiAAnalyticsNetworkDelegate
- (NSString*)mistatAnalyticsNetwork:(NSString*)url
5.2. 收集请求描述
根据object-c
网络Framework描述,收集使用NSURLProtocol方式。所以我们只能收集基于WebKit,NSURL之上的网络请求。CFNetWork,CFStream,CFSocket无法收集。
6. API说明
小米统计服务iOS版SDK所有的接口都以静态方法的形式封装在MiStatSDK这个类中。其中每个方法的详细描述如下:
6.1. + (void)registerMiStat:(NSString*)channel
初始化统计服务接口,必须在所有数据记录之前调用。推荐将该方法放入- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中。
app的渠道信息,便于后台可按照渠道来统计应用的各项数据
6.2. + (void)setUploadPolicy:(UPLOAD_POLICY)policy interval:(int)interval
设置上报策略接口。
所需要设置的上报策略类型, UPLOAD_POLICY_TYPE_LAUNCH 启动时发送 UPLOAD_POLICY_TYPE_REALTIME
实时发送 UPLOAD_POLICY_TYPE_WIFI_ONLY 只在wifi下, 时时 UPLOAD_POLICY_TYPE_INTERVAL 间隔时间
UPLOAD_POLICY_TYPE_DEVELOPMENT 开发者模式
interval (选填)
时间间隔。当policy设置为UPLOAD_POLICY_TYPE_INTERVAL的时候,该参数生效。
6.3. + (void)recordPage:(NSString*)name
记录界面进入事件,建议放在UIViewController 的- (void)viewDidAppear:(BOOL)animated方法中调用。
页面的名称
6.4. + (void)recordCountEvent:(NSString*)category key:(NSString*)key
记录自定义计数事件。
事件的分类。
事件的主键,是这个自定义事件的唯一标识。
6.5. + (void)recordCountEvent:(NSString*)category key:(NSString*)key dictionary:(NSDictionary*)dictionary
记录自定义计数事件。并提供多关键字组合分析
事件的分类。
事件的主键,是这个自定义事件的唯一标识。
dictionary
方便对事件进行更多维度的分析。其中参数值不支持数值,支持不超过10个不同的参数
6.6. + (void)recordCalculateEvent:(NSString*)category key:(NSString*)key
value:(long)value
记录自定义计算事件。
事件的分类。
事件的主键,是这个自定义事件的唯一标识。
事件的值,是一个long型的整数。
6.7. + (void)recordCalculateEvent:(NSString*)category key:(NSString*)key
value:(long)value dictionary:(NSDictionary*)dictionary
记录自定义计算事件。并提供多关键字组合分析
事件的分类。
事件的主键,是这个自定义事件的唯一标识。
事件的值,是一个long型的整数。
dictionary
方便对事件进行更多维度的分析。其中参数值不支持数值,支持不超过10个不同的参数
6.8. + (void)recordPropertyEvent:(NSString*)category key:(NSString*)key
string:(NSString*)string
记录自定义字符串属性事件。
事件的分类。
事件的主键,是这个自定义事件的唯一标识。
事件的值,是一个字符串类型。
6.9. + (void)recordPropertyEvent:(NSString*)category key:(NSString*)key
numeric:(long)numeric
记录自定义数值属性事件。
事件的分类。
事件的主键,是这个自定义事件的唯一标识。
事件的值,是一个long型的整数。
6.10. + (void)triggerUploadM
手动触发上报,该调用仅会在当上报策略设置为UPLOAD_POLICY_DEVELOPMENT时起作用。
6.11. + (NSString*)getDeviceID;
获取设备标示。在接入SDK时, 通过此方法获取设备标示,添加到测试设备中,就可以在测试数据列表中看到该设备上报的统计数据。
6.12. + (void)enabledCrashReportWithMode:(MI_STAT_CRASH_REPORTER_MODE)
开启崩溃日志收集功能。
日志上报策略。
6.13. + (BOOL)hasPendingCrashR
手动模式下, 用来检查本地是否有CrashReport。
6.14. + (void)triggerUploadCrashR
手动模式下, 触发上报CrashReport。成功后删除日志
6.15. + (void)enableAnalyticsNetwork:(id&MiAAnalyticsNetworkDelegate&)
网络请求统计, 包括URL, 请求时长,错误码等信息
id&MiAAnalyticsNetworkDelegate& 可以根据你的需求 定制统计url的内容. 或则对此次请求忽略.
nil为忽略.
6.16. - (NSString*)mistatAnalyticsNetwork:(NSString*)
可以根据你的需求 定制统计url的内容. 或则对此次请求忽略
监听到的网络请求原地址
This entry was posted in
1. 客户端SDK功能概述
在使用小米统计服务前,开发者需要先登录小米开发者网站 ,注册app,申请AppId,
AppKey。其中AppId和AppKey是客户端的身份标识,在客户端SDK初始化时使用。然后下载最新的SDK压缩包,其中包括了Android SDK和Android
Demo。Android版SDK以jar形式提供, 第三方APP只需要添加少量代码和配置,即可完成接入小米统计服务。
统计服务Android
SDK所有的接口都封装在MiStatInterface抽象类的静态方法中,主要功能接口请参考第3节API说明。应用在启动时,需要调用initialize方法来初始化统计服务,之后便可按照统计的业务需求,调用统计数据上报接口上报统计打点。
SDK提供了接口给开发者来设置向小米统计服务器上报统计数据的策略,开发者可以在任意时候调用修改策略。客户端SDK上报的数据包括默认事件统计、session统计(用于统计app的活跃度、打开频率、使用时长等)、页面访问统计和自定义事件统计。
小米统计SDK提供app的崩溃日志收集功能。功能开启后,对于app在使用过程中的崩溃,SDK将自动采集崩溃日志,并上传到统计后台;统计后台会根据app版本,对崩溃进行聚合、展示。开发者可以根据app实际情况情况,将该崩溃标记成已处理或者忽略状态。
2. SDK使用配置
本节主要介绍使用小米统计SDK前的准备工作,开发者也可以参照SDK中的demo来配置。
配置AndroidManifest.xml文件
SDK支持的最低安卓版本为2.2。
android:minSdkVersion="8"/&
统计服务需要的权限列表
&uses-permission android:name="android.permission.INTERNET" /&
&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"/&
对应的4种权限,用途如下:
网络访问权限,需要联网以便于向小米统计服务端上报统计数据。
查看网络状态,用于根据不同的网络环境,选择相应的上报策略。同时也需要上报当前的网络环境用于后台统计展示。
读取手机状态和身份,用于获取设备的唯一标识,为当前设备生成一个唯一设备ID。
查看Wifi状态权限,用于获取mac地址,生成设备唯一标示。
2.2. 初始化统计服务
应用启动时,需要调用统计SDK中的初始化方法,传入appID、appKey等身份验证参数和应用对应的渠道号。在调用其他统计服务相关API前,必须调用本方法初始化统计服务,建议您在程序的Application
的onCreate中初始化小米统计服务。
MiStatInterface.initialize(this, MY_APPID, MY_APP_KEY, CHANNEL);
3. app常规数据统计
本节主要介绍如何设置数据上报策略,如何记录页面访问行为和用户自定义事件。本节也介绍了通过集成测试模块验证SDK是否集成成功的方法。
3.1. 数据上报策略
小米统计服务SDK会先把数据记录缓存在本地,然后根据开发者设定的数据上报策略,触发上报流程。SDK中提供了一系列数据上报策略供开发者选择,这些策略包括:
UPLOAD_POLICY_REALTIME 实时上报。每当有一条新的记录,就会激发一次上报。
UPLOAD_POLICY_WIFI_ONLY 只在WIFI下上报。当设备处于WIFI连接时实时上报,否则不上报记录。
UPLOAD_POLICY_BATCH 批量上报。当记录在本地累积超过一个固定值时(50条),会触发一次上报。
UPLOAD_POLICY_WHILE_INITIALIZE
启动时候上报。每次应用启动(调用initialize方法)时候,会将上一次应用使用产生的数据记录打包上报。
UPLOAD_POLICY_INTERVAL
指定时间间隔上报。开发者可以指定从1分钟-1天之间的任意时间间隔上报数据记录。需要注意,由于SDK并没有使用安卓的实时唤醒机制,因此采用此策略上报,SDK做不到严格的遵守开发者设定的间隔,而会根据应用数据采集的频率和设备休眠策略,会有一定的偏差。
UPLOAD_POLICY_DEVELOPMENT
调试模式。使用此策略,只有开发者手动调用一个接口才会触发上报,否则在任何情况下都不上报。SDK中提供了一个triggerUploadManually方法用于手动触发。这种策略主要用于开发者调试时候可手动控制上报时机,便于做数据对比。
小米统计服务的本地缓存最长会保存3天,只要在3天内上报流程被触发,就会将本地之前没上报成功的所有数据打包上报。如果数据上报成功,则会把已经成功的数据从本地删除。
默认的数据上报策略是UPLOAD_POLICY_INTERVAL,默认的上报时间间隔是三分钟。
设置上报策略的代码示例如下:
MiStatInterface.setUploadPolicy(UPLOAD_POLICY_REALTIME, 0);
3.2. 默认事件
为了提供一些app所共有的统计维度,小米统计SDK会默认采集如下一些应用信息作为事件上报到小米统计后台:
表 1. 默认上报事件
用于实时统计应用的新增人数
应用第一次调用recordPageStart
用于统计每个版本的升级人数和升级时间
应用每次版本更新后第一次启动
用于统计机型分布,并可将机型设置为其它统计项的过滤条件
应用第一次调用recordPageStart
安卓系统版本
用于统计版本分布,并可将版本设置为其它统计项过滤条件
应用第一次调用recordPageStart
用于统计系统语言的分布
应用第一次调用recordPageStart
用于统计运营商分布信息
应用第一次调用recordPageStart
用于标识某个特定的设备
应用第一次调用recordPageStart
屏幕分辨率
用于统计屏幕分辨率的分布
应用第一次调用recordPageStart
用于统计应用渠道分布情况,并为其它统计项提供实时过滤
用于统计应用版本分布情况,并为其它统计项提供实时过滤
用于统计用户在打开应用时候的网络分布情况
每次session上报
3.3. session
小米统计服务将从用户打开应用开始,到离开应用并且超过30秒结束,这一段时间我们定义为一个session。session主要用于开发者观察用户的使用时长、打开次数等统计项。为了统计session,需要开发者在用户进入应用每个界面(Activity)的时候,调用recordPageStart方法,在用户离开该界面的时候,调用recordPageEnd方法。我们建议将这两个调用分别放于应用所有的Activity的onResume和onPause方法中。示例代码如下:
public class MainActivity extends Activity {
protected void onResume() {
super.onResume();
MiStatInterface.recordPageStart(this, "主界面");
protected void onPause() {
super.onPause();
MiStatInterface.recordPageEnd();
小米统计服务SDK会根据每个Activity进入-退出的时间,自动计算出用户使用的session数据。
3.4. 页面访问
在记录session的同时,小米统计SDK也会记录下用户页面之间的跳转,每条页面跳转的数据记录了一个session当中所有的页面访问记录。页面访问的数据同样通过recordPageStart和recordPageEnd这两个方法来记录,开发者可以为每个页面设置一个名称,作为recordPageStart的第二个参数传入:
MiStatInterface.recordPageStart(activity, MY_PAGE_NAME);
如果页面名称传入空,则SDK会直接采用activity的完整类名来作为页面名称。
4.0以及之后的版本中,很多界面都采用Fragment方式来开发界面,这种方式下,Activity作为一个容器,不会对应某个特定的界面,因此会对页面访问的统计产生一些错误数据。这种情况下我们建议只在Fragment的onResume和onPause中添加recordPageStart和recordPageEnd方法。示例代码如下:
public class MyFragmentActivity extends FragmentActivity {
protected void onResume() {
super.onResume();
// 这是一个fragment的容器activity,在onResume中不需要调用小米统计
// 服务的recordPageStart方法
protected void onPause() {
super.onPause();
public class MyFragment extends Fragment {
protected void onResume() {
super.onResume();
// 在fragment中的调用用于记录页面访问信息
MiStatInterface.recordPageStart(getActivity(), "主界面");
protected void onPause() {
super.onPause();
MiStatInterface.recordPageEnd();
3.5. 自定义事件
除了默认事件、session和页面访问外,小米统计服务提供了自定义事件的上报。开发者可结合应用的业务逻辑,添加自定义事件的统计。每个自定义事件有如下4个属性:类别(category)、主键(key)、值(value)和类型(type)。这4个参数的的含义和作用如下:
自定义事件的类别,开发者可使用该参数对自定义打点做整理归类,方便在有大量的自定义事件时在数据统计后台快速定位到相应的事件。类别是一个可选的参数,如果这个值为空,统计SDK会将该事件放入默认的类别中。
key 自定义事件的主键,作为该事件的唯一标识。
value 自定义事件的值,根据事件类型不同,值会有字符串和数值两种类型。
type 自定义事件的类型。根据不同的业务上报逻辑,我们将自定义事件分成如下4种类型:计数(count)、计算(calculate)、字符串属性(string
property)和数值属性(numeric property)。每个类型的详细解释如下:
计数和计算类型的事件,除了上述属性之外,还可以增加事件参数(参见API说明部分)。事件参数可以以更丰富的维度展示与该事件相关的数据。比如,游戏应用中的一种消费行为,开发者对发生该事件的用户性别,等级,年龄等感兴趣,就可以将性别,年龄,等级均设置为消费事件的参数;这样,对于该消费事件,除了统计发生次数外,还会展示事件发生时,用户的性别,年龄和等级的分布情况。
每个自定义事件最多可以传10个不同的参数。
3.5.1. 计数类型
计数类型事件通常用来描述一个事件累积发生的次数,适用的场景如按钮点击、界面进入、用户输入等。这类事件的上报代码如下:
MiStatInterface.recordCountEvent("Button_Click", "Button_OK_click");
每次调用需要传入分类和主键,这类事件的value都隐式的被设置成数字“1”,不需要单独设置。统计后台会对这类事件做总发生次数、总覆盖用户数等统计计算。
3.5.2. 计算类型
计算类型事件通常用来描述一个带数值的事件的发生,适用的场景如用户消费事件,附带的数值是每次消费的金额;下载文件事件,附带的数值是每次下载消耗的时长等。这类事件的上报代码如下:
MiStatInterface.recordCalculateEvent(“user_pay”, "buy_ebook", 20);
每次调用需要传入分类、主键和对应数值,其中数值是一个long型的整数。统计后台会对这类事件做累加、分布、按次平均、按人平均等统计计算。
3.5.3. 字符串属性类型
字符串属性类型通常用来描述某个具备字符串特征的属性,适用的场景如用户性别、用户职业、用户爱好等,这类属性的取值是一个字符串值。这类事件的上报代码如下:
MiStatInterface.recordStringPropertyEvent(“user_profile”, "genda", "female");
每次调用需要传入分类、主键和字符串值。对于同一主键的字符串属性,一个设备只会保存一个,即,一个设备上报多次同一个主键的字符串属性类型,统计服务后台只会保存和统计最新的属性。
3.5.4. 数值属性类型
数值属性类型通常用来描述某个具备数值特征的属性,适用的场景如用户年龄、工作年限、游戏等级等,这类属性的取值是一个整型数值。这类事件的上报代码如下:
MiStatInterface.recordNumericEvent(“user_profile”, "age", 26);
每次调用需要传入分类、主键和数值。和字符串属性一样,对于同一主键的数值属性,一个设备只会保存一个,即,一个设备上报多次同一个主键的数值属性类型,统计服务后台只会保存和统计最新的属性。
3.6. 集成测试
小米统计服务提供了集成测试模块,通过简单的几个步骤,即可以观察到通过小米统计上传的数据,判断统计是否生效;集成测试的数据和正式数据完全隔离,互不干扰。具体步骤如下:
步骤一,增加测试设备。在统计数据网站中,点击进入“集成测试”项。通过在手机端调用MiStatInterface#getDeviceID(Context
context)获取设备标示,增加到测试设备中。
图 1. 添加测试设备
步骤二,客户端上传统计数据,新增的测试设备统计数据会自动展示在测试日志列表中,点击可以查看该统计日志的详情。
图 2. 查看设备统计数据
图 3. 统计日志详情
4. 崩溃日志收集
应用程序发布后,在使用过程中,可能因为各种原因而崩溃。小米统计SDK内置了崩溃日志上报功能,开发者通过调用MiStatInterface#enableExceptionCatcher(boolean
uploadImmediately)即可开启该功能。根据参数不同,开发者可以选择崩溃后实时上传崩溃日志,也可以选择和常规统计数据相同的上报策略。
5. 实时网络监控
小米统计SDK提供应用的实时网络监控功能,开发者通过调用URLStatsRecorder#enableAutoRecord,即可实现HTTP网络访问信息的自动采集,包括某HTTP请求的时长,成功失败等信息。统计后台会实时计算,并且按照地域、网络、运营商等维度展示如请求次数、请求时长、成功率、失败率等信息,方便开发者发现app中关于网络请求的潜在问题。
6. API说明
6.1. MiStatInterface
MiStatInterface类中包含统计服务的初始化方法、与页面访问和事件相关API。其定义如下:
public abstract class
extends Object
java.lang.Object
? com.xiaomi.mistatistic.sdk.MiStatInterface
其中每个方法的详细描述如下:
6.1.1. public static void initialize(Context context, String appID, String appKey, String
初始化统计服务接口,必须在所有数据记录之前调用。推荐将该方法放入Application对象或者主Activity的onCreate方法中。
表 2. initialize函数参数列表
context (必填)
Android平台上app的上下文,建议传入当前app的application context
appID (必填)
在开发者网站上注册时生成的,小米统计服务颁发给app的唯一标识
appKey (必填)
在开发者网站上注册时生成的,与appID相对应,用于验证appID是否合法
channel (选填)
app的渠道信息,便于后台可按照渠道来统计应用的各项数据
6.1.2. public static void setUploadPolicy(int policy, long interval)
设置上报策略接口。
表 3. setUploadPolicy函数参数列表
policy (必填)
所需要设置的上报策略类型,取值可从UPLOAD_POLICY_REALTIME、UPLOAD_POLICY_WIFI_ONLY、UPLOAD_POLICY_BATCH、UPLOAD_POLICY_WHILE_INITIALIZE、UPLOAD_POLICY_INTERVAL、UPLOAD_POLICY_DEVELOPMENT中选取
interval (选填)
时间间隔,单位毫秒(ms)。当policy设置为UPLOAD_POLICY_INTERVAL的时候,该参数生效。
6.1.3. public static void recordPageStart(Activity act, String pageName)
记录界面进入事件,建议放在Activity或Fragment的onResume方法中调用。
表 4. recordPageStart函数参数列表
act (必填)
所在界面的Activity实例
pageName (选填)
页面的名称,如果是NULL或空字符串,则SDK会使用act的完整包名作为当前页面的名称。
6.1.4. public static void recordPageStart(Context context, String pageName)
记录进入事件,可以在Activity或Fragment或Service中使用。
表 5. recordPageStart函数参数列表
context (必填)
所在类的Context实例
pageName (必填)
页面的名称,不能为空。
6.1.5. public static void recordPageEnd()
记录当前页面访问结束。
6.1.6. public static void recordCountEvent(String category, String key)
记录自定义计数事件。
表 6. recordCountEvent函数参数列表
category (选填)
事件的分类。
key (必填)
事件的主键,是这个自定义事件的唯一标识。
6.1.7. public static void recordCountEvent(String category, String key, Map&String,
String& params)
记录带参数的自定义计数事件。
表 7. recordCountEvent函数参数列表
category (选填)
事件的分类。
key (必填)
事件的主键,是这个自定义事件的唯一标识。
params (选填)
事件的参数,支持不超过10个不同的参数。
6.1.8. public static void recordCalculateEvent(String category, String key, long
记录自定义计算事件。
表 8. recordCalculateEvent函数参数列表
category (选填)
事件的分类。
key (必填)
事件的主键,是这个自定义事件的唯一标识。
value (必填)
事件的值,是一个long型的整数。
6.1.9. public static void recordCalculateEvent(String category, String key, long value,
Map&String, String& params)
记录带参数的自定义计算事件。
表 9. recordCalculateEvent函数参数列表
category (选填)
事件的分类。
key (必填)
事件的主键,是这个自定义事件的唯一标识。
value (必填)
事件的值,是一个long型的整数。
params (选填)
事件的参数,支持不超过10个不同的参数。
6.1.10. public static void recordStringPropertyEvent(String category, String key, String
记录自定义字符串属性事件。
表 10. recordStringPropertyEvent函数参数列表
category (选填)
事件的分类。
key (必填)
事件的主键,是这个自定义事件的唯一标识。
value (必填)
事件的值,是一个字符串类型。
6.1.11. public static void recordNumericPropertyEvent(String category, String key, long
记录自定义数值属性事件。
表 11. recordNumericPropertyEvent函数参数列表
category (选填)
事件的分类。
key (必填)
事件的主键,是这个自定义事件的唯一标识。
value (必填)
事件的值,是一个long型的整数。
6.1.12. public static void triggerUploadManually()
手动触发上报,该调用仅会在当上报策略设置为UPLOAD_POLICY_DEVELOPMENT时起作用。
6.1.13. public static final String getDeviceID(Context context)
获取设备标示。在接入SDK时, 通过此方法获取设备标示,添加到测试设备中,就可以在测试数据列表中看到该设备上报的统计数据。
6.1.14. public static void enableExceptionCatcher(boolean uploadImmediately)
开启app崩溃日志上传功能。为了能够采集app所有的崩溃,建议在Application的onCreate方法中调用本方法。
表 12. enableExceptionCatcher函数参数列表
uploadImmediately
崩溃发生时,是否立即上传崩溃的日志。如果设置为true,立即上传;否则,采用和统计日志相同的上报策略。
6.1.15. public static boolean isExceptionCatcherEnabled()
返回当前是否开启了崩溃日志上报。
6.1.16. public static boolean shouldExceptionUploadImmediately()
返回是否应该立即上传崩溃日志。只有用户开启崩溃日志上传,并且设置为实时上传时,本方法返回true;否则返回false。
6.2. URLStatsRecorder
URLStatsRecorder包含HTTP网络监控相关的方法。其定义如下:
public class
extends Object
java.lang.Object
? com.xiaomi.mistatistic.sdk.URLStatsRecorder
其中每个方法的详细描述如下:
6.2.1. public static boolean enableAutoRecord()
开启HttpURLConnection和HttpsURLConnection的网络连接信息自动采集。如果开启成功,返回true;否则返回false。如果开启成功,所有通过HttpURLConnection和HttpsURLConnection完成的网络请求,包括普通GET,POST等或者文件下载,其请求时长、成功、失败等信息都会自动采集。如果开启失败,开发者需要自行采集这些信息,以HttpEvent的方式,加入到统计服务中。
6.2.2. public static void addHttpEvent(HttpEvent event)
添加一个HttpEvent。对比如Socket连接,Apache的HttpClient,AndroidHttpClient等不会自动采集的网络请求,可以自行收集请求的相关信息,以HttpEvent的形式上报。调用此方法并不会立即触发一次上报,SDK会根据服务器配置的延迟和概率,自行决定上报时机。
6.2.3. public static void setEventFilter(HttpEventFilter eventFilter)
设置HttpEventFilter。所有SDK采集的数据,都会通过该eventFilter进行处理后再上传。如果不设置eventFilter,SDK会使用默认的filter,对所有采集数据的url,去掉url的参数,只保留问号之前的部分。通过此方法,开发者可以做到
屏蔽某些URL信息的上传。
将某些URL进行合并或者归类;比如去掉参数信息。比如对于一个Http的GET请求,URL中可能包含参数信息,如http://data./demoget?appid=123&package=com.xiaomi.statsdemo,
其中的appid和package随着app不同而不同,此时,开发者可以通过filter,将采集的URL合并成http://data./demoget?,一方面可以去掉一些敏感参数,一方面可以对不规则的URL做合并。
6.3. HttpEvent
一个网络监控事件。
public class
extends Object
java.lang.Object
? com.xiaomi.mistatistic.sdk.data.HttpEvent
其中每个方法的详细描述如下:
6.3.1. public HttpEvent(String url, long timeCost)
表 13. 参数列表
对应事件的URL或者host
该url请求耗费的的时间,单位ms。
6.3.2. public HttpEvent(String url, long timeCost, long netFlow)
表 14. 参数列表
对应事件的URL或者host
该url请求耗费的的时间,单位ms。
该url请求耗费的的流量。
6.3.3. public HttpEvent(String url, long timeCost, long netFlow, int responseCode)
表 15. 参数列表
对应事件的URL或者host
该请&#27#27714;耗费的的时间,单位ms。
该请求耗费的的流量。
responseCode
该请求的Http的Response Code。
6.3.4. public HttpEvent(String url, long timeCost, String exceptionName)
表 16. 参数列表
对应事件的URL或者host
该请求耗费的的时间,单位ms。
exceptionName
该url过程中发生的exception名字。
6.3.5. public HttpEvent(String url, long timeCost, int responseCode, String
exceptionName)
表 17. 参数列表
对应事件的URL或者host
该请求耗费的的时间,单位ms。
responseCode
该请求的Http的Response Code。
exceptionName
该url请求过程中发生的exception名字。
6.3.6. public HttpEvent(String url, long timeCost, long netFlow, int responseCode, String
exceptionName)
表 18. 参数列表
对应事件的URL或者host
该请求耗费的的时间,单位ms。
该请求耗费的的流量。
responseCode
该请求的Http的Response Code。
exceptionName
该url请求过程中发生的exception名字。
6.3.7. public HttpEvent(String url, String exceptionName)
表 19. 参数列表
对应事件的URL或者host
exceptionName
该url请求过程中发生的exception名字。
6.3.8. public void setUrl(String url)
设置url或者host。
表 20. 参数列表
对应事件的URL或者host
6.3.9. public String getUrl()
获取当前的url。
6.3.10. public JSONObject toJSON() throws JSONException
获取当前的事件的JSON表达形式。
6.4. HttpEventFilter
HttpEvent的filter。开发者可以通过filter来过滤或者修改SDK采集的数据。
public interface com.xiaomi.mistatistic.sdk.controller.HttpEventFilter
其中每个方法的详细描述如下:
6.4.1. public HttpEvent onEvent(HttpEvent event)
SDK采集到一个HttpEvent,通过onEvent处理后再上报给服务器。返回修改后的HttpEvent;如果希望SDK不要上报该事件,返回null。
表 21. onEvent函数参数列表
SDK采集到的HttpEvent。
This entry was posted in
接入流程:
第一步:开发前准备工作
新开发者需要先申请开发者帐号,地址:(之前申请过的无需再次申请)
申请流程参考:
(接入前请务必查看)
第二步:针对设备进行游戏适配修改
开发游戏前请先阅读:
针对电视/盒子的设备特性进行游戏适配:、
选择一款设备作为游戏的操控方式: or
操控设备适配规范:
一些操控和适配的建议供参考:
Unity引擎开发的游戏请注意:
cocos2d引擎开发的游戏请注意:由音频文件调用导致的闪退问题解决办法()
第三步:接入游戏内计费SDK(免费游戏可跳过)
接入计费前请先阅读:
下载最新版SDK:
一些接入建议供参考:、
Unity引擎开发的游戏请注意:
第四步:游戏上架&更新
请先完成自测后再进行游戏的上传:
游戏上传同时请填写,并发送至邮箱
游戏上线及更新在小米开发者站(http://dev.xiaomi.com/)上传提交后,为了避免审核的遗漏,请一定按照要求()发送审核邮件至:
上线流程如下:
更新流程如下:
特殊说明(上传前必看,否则影响游戏上架)
1、盒子与TV图标放置的位置说明
在apk的res文件夹下应该有drawable-mdpi,drawable-tvdpi,drawable-hdpi,drawable-xhdpi文件夹,将符合小米盒子视觉规范的应用图标放入drawable-mdpi和drawable-tvdpi;将符合小米电视视觉规范的应用图标放入drawable-hdpi和drawable-xhdpi。
小米盒子应用图标规范请参考:
小米电视应用图标规范请参考:
图标标题字体“方正兰亭粗黑”字体文件请下载参考。
2、需要将游戏标识为电视应用
您的应用必须在manifest中使用将其定义为电视应用,这样才能在应用上传时被系统分类为电视应用,从而进入正确的审核流程,定义方法如下:
&uses-feature android:name=&#8221;android.hardware.type.television&#8221; android:required=&#8221;true&#8221; /&
参考:/guide/topics/manifest/uses-feature-element.html
3、游戏宣传用图
请提交游戏时,随同提供一套(张数不限,越多越好)包含游戏主体人物和场景的图片,需要是分层的PSD格式文件,主题人物尺寸不小于800&#215;800
This entry was posted in
MIUI 6上重新设计了桌面app图标的角标显示,基本规则如下:
默认的情况
当app 向通知栏发送了一条通知 (通知不带进度条并且用户可以删除的),那么桌面app icon角标就会显示1.此时app显示的角标数是和通知栏里app发送的通知数对应的,即向通知栏发送了多少通知就会显示多少角标。
通知可以定义角标数
例如 有5封未读邮件,通知栏里只会显示一条通知,但是想让角标显示5. 可以在发通知时加个标示。
第三方app需要用反射来调用,参考代码:
NotificationManager mNotificationManager = (NotificationManager) this
.getSystemService(Context.NOTIFICATION_SERVICE);
Notification.Builder builder = new Notification.Builder(this)
.setContentTitle(&#8220;title&#8221;).setContentText(&#8220;text&#8221;).setSmallIcon(R.drawable.icon);
Notification notification = builder.build();
Field field = notification.getClass().getDeclaredField(&#8220;extraNotification&#8221;);
Object extraNotification = field.get(notification);
Method method = extraNotification.getClass().getDeclaredMethod(&#8220;setMessageCount&#8221;, int.class);
method.invoke(extraNotification, mCount);
} catch (Exception e) {
e.printStackTrace();
mNotificationManager.notify(0,notification);
This entry was posted in
MiBox(Enhanced)
Screen Size
Resolution
Dual-core 1.5GHz
Quad-core 2.0GHz
Mali-400 Dual-core
Mali-450MP6
2048MB DDR3 dual-channel
2.4GHz/5GHz
2.4GHz/5GHz
802.11a/b/g/n
802.11a/b/g/n
802.11a/b/g/n/ac
Android 4.1.2
Android 4.2.2
Android 4.4
Audio Formats
Dolby Digital Plus、DTS
Dolby Digital Plus、DTS
Dolby Digital Plus、DTS
Picture Formats
H.264、VC-1、WMV、MPEG1/2/4 up to 1080P@30 frame/sec;real7/8/9 up to 720P@30 frame/sec
H.264、VC-1、WMV、MPEG1/2/4 up to 1080P@30 frame/sec;real7/8/9 up to 720P@30 frame/sec
H.264 support 4K@30fps、MPEG1/2/4 up to 1080P@60 frame/sec;VC-1、WMV、real7/8/9 up to 1080@60 frame/sec
Video Formats
RM、FLV、MOV、AVI、MKV、TS、MP4
RM、FLV、MOV、AVI、MKV、TS、MP4
RM、FLV、MOV、AVI、MKV、TS、MP4
Miracast、WiDi
Miracast、WiDi
Miracast、WiDi
Pictures, audios and videos via AirPlay(TM)、DLNA protocol
Pictures, audios and videos via AirPlay(TM)、DLNA protocol
Pictures, audios and videos via AirPlay(TM)、DLNA protocol
Multiple Screens Support
Please refer to
to optimize your game UI for different screen configurations.
Display specs
MiBox1, MiBox1S
MiBox(Enhanced)
Screen size
large(960dpx540dp)
large(960dpx540dp)
Screen pixel density(dpi)
Orientation
Aspect ratio
This entry was posted in
以下信息非常重要,请务必在游戏上架前提交到online-,邮件要注明 游戏名称,以便我们申请资源。文件如果太大,可以发链接,谢谢配合~~
【礼包需求】(礼包码为txt文本格式)
礼包信息:包含有效期、礼包内容、使用方法
礼包种类:新手礼包、专属礼包、白金礼包、钻石礼包、微信礼包、论坛礼包等共为6种
礼包数量:新手礼包10000个;其余每种均为1000个左右;
礼包显示:手机端—游戏中心—游戏详情页(随产品改造而变化位置)
其他注意事项:全服通用,且只有小米平台使用;如有特殊情况 请务必注明。
【活动相关】
1、线上活动:
游戏内有开服活动、日常活动或小米独家活动,请提前将文案发至online-,届时我们将安排宣传;请参考
<span style="color: #、线下活动:
论坛:请提前1周将活动文案或活动通知告知我们
微博:请提前1周将活动想法告知我们 ,届时我们将安排运营对接;
【宣传图】
1、首页大图:尺寸:
psd格式,大小不限; (1张)
2、活动图+礼包图:尺寸,jpg格式;尽量控制在70k以内。(有几种礼包配几种图,图内素材尽量不要使用同一种)
3、论坛活动图250*340 ,jpg格式;(1张)若没论坛活动可忽略 ;
*以上所有尺寸要求指的是 宽×高,文件越小越好,否则图片太大不利于刷新,另外宣传图上建议都不要带日期,图上不要有公测、内测或是xxx礼包xxx活动这样的字样,所有宣传图上务必加上游戏名称。
新游戏请务必将开服时间、新服名称提供给我们,游戏上线后每周五提供给我们下周或当月的开服计划表,以便我们申请资源。
【攻略、评测】
游戏的攻略、评测、新闻稿等资料;
This entry was posted in

我要回帖

更多关于 quicktime无法打开avi 的文章

 

随机推荐