蒲公英(pgyer)——完美的 App测试方案
开发型团队App内部测试以及对应的crash报告类的服务相对很少,而且并不成熟。通过了解蒲公英-作为技术型研发团队算是在这一领域的后起之秀,而随着app市场的不断膨胀,相应的类似服务也逐渐增多,比较常用的有:
崩溃报告类:
Crittercism 国内出现比较早平台,适用一段时间很稳定,但是版本更新时设置比较麻烦
Crashlytics 相当优雅方便,最近被Twitter收购。十分推荐
用户行为统计类:
Flurry 这个太有名了,不多说了
Countly 好处是轻量开源,数据可以自己掌控
但是在“发布前”测试分发这个环节上,目前国内技术相对比较成熟、产品相对稳定的蒲公英应该算是国内测试行业的技术领先者,因此如果有这方面的测试需求话,蒲公英测试平台依然是开发人员的首选。
当然,这半年多来蒲公英测试平台,也进步了很多。从桌面客户端的出现以及SDK的发布,可以说蒲公英测试平台也逐渐向着一个更成熟易用的方向发展。
前言
iOS开发的测试一直是令人头疼的问题。app开发的短周期和高效率的要求注定了一款app,特别是小公司的app,不会留给开发人员很多测试的时间。而在测试时往往又遇到crash报告提交困难,测试人员与开发人员沟通不便等等问题,极大延缓了测试进度。蒲公英测试平台即是为了解决iOS开发时测试的种种困难而生的服务,使用蒲公英测试平台可以十分便利地完成版本部署,测试用户Log提交,收集Carsh Log和收集用户反馈等工作,而这一切居然连一个iDP账号都不需要!
基本使用
蒲公英测试平台界面最为简洁,文档齐全,使用上开发者不会遇到很多的问题。

注册非常简单4步即可完成注册

上传测试版本
上传的版本必须是包含签名的ipa,成功上传版本后即可生成二维码以及短链接分发给需要测试的人员进行新版本的安装和测试。之后在版本管理中即可看到关于该版本的测试信息。
收集测试信息
在build界面中选择需要查看的版本的对应按钮即可看到收集到的测试信息,包括一般的session信息,设备使用TFLog进行的输出(需要蒲公英 SDK),crash报告,是否通过了预先设定的检查点,测试人员的安装情况等信息。

结合SDK来使用,一切测试机仿佛都变成了你自己的终端,所有的Log和设备的状态尽在掌握,而这样的便利仅仅需要点击下鼠标和写几行代码,这便是蒲公英的强大之处。

SDK使用
不使用蒲公英的SDK的话,可以说就连这个强大的平台的一成功力都发挥不出来。点击这里从官方网站下载SDK,官方文档提供了关于SDK的很全面的说明,在支持页面也能找到很多有用的信息。
应用获取AppId
AppId:唯一标识一个应用的Id,初始化SDK时需要使用。

下载SDK:
下载pgyer_sdk.jar(包含异常上报,在线更新,摇一摇反馈功能)。
将jar包复制到工程的libs目录下面。

配置AndroidManifest

上报 Crash 异常
一、注册Crash接口(必选)
1. 在application中集成,可以有机会捕捉更多的异常(推荐)

2. 在activity中集成

二、符号表配置(可选)
通过progurad工具混淆时,工程目录下会自动生成符号表文件mapping.txt

在后台配置符号表文件

摇一摇用户反馈
1. 普通的应用在Activity中添加如下代码即可

2. 游戏还需要在GLSurfaceView.Renderer这个类的public void onDrawFrame(final GL10 gl)的方法中添加以下代码

检查更新
在activity中添加如下代码