Crashlytics Android 异常报告统计管理(详解)

 更新时间:2017年05月11日 08:42:30   投稿:jingxian  
下面小编就为大家带来一篇Crashlytics Android 异常报告统计管理(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

简介

Crashlytic 成立于2011年,是专门为移动应用开者发提供的保存和分析应用崩溃信息的工具。Crashlytics的使用者包括:支付工具Paypal, 点评应用Yelp, 照片分享应用Path, 团购应用GroupOn等移动应用。

2013年1月,Crashlytics被Twitter收购,成为又一个成功的创业产品。被收购之后,由于没有了创业公司的不稳定因素,我们更有理由使用它来分析应用崩溃信息。

使用Crashlytics的好处有:

1、Crashlytics不会漏掉任何应用崩溃信息。拿我的应用举例来说,在iTunes Connect的后台查看不到任何崩溃信息。但是用户确实会通过微博或者客服电话反馈应用崩溃的情况。而这些在Crashlytics中都可以统计到。如下截图分别显示了我的某应用在苹果iTunes Connect后台和Crashlytics中的差别:

2、Crashlytics可以象Bug管理工具那样,管理这些崩溃日志。例如:Crashlytics会根据每种类型的Crash的出现频率以及影响的用户量来自动设置优先级。对于每种类型的Crash,Crashlytics除了会像一般的工具提供Call Stack外,还会显示更多相关的有助于诊断的信息例如设备是否越狱,当时的内存量,当时的iOS版本等。对于修复掉的Crash日志,可以在Crashlytics的后台将其关掉。下图所示的是一个我的早期应用的崩溃记录,在我修复后,我将其更新为已修复状态。

3、Crashlytics可以每天和每周将崩溃信息汇总发到你的邮箱,所有信息一目了然。

下面我就给大家介绍如何使用Crashlytics。

使用介绍申请帐号

Crashlytics的服务是免费提供的,但是并不能直接注册使用,需要先申请,打开Crashlytic的官网 ,输入自己的邮箱申请使用。如下图所示:

提交完邮箱之后,你的申请会放在Crashlytics的申请队列中,网页跳转到如下界面。在这个界面的右侧,你可以提供更多有效信息来让Crashlytics优先处理你的申请,建议大家都填上更多自己的信息。

如果顺利,通常1-2天左右,你就会收到Crashlytics发来的申请通过邮件,如下图所示,通过邮件链接跳转到注册界面,填写密码即可完成注册。

设置工程

在使用Crashlytics前需要对原有的XCode工程进行配置,在这一点上,Crashlytics做得比其它任何我见过的SDK提供商都体贴。因为Crashlytics专门做了一个Mac端的App来帮助你进行配置,所以,在配置前你先需要去这里下载该应用。

应用下载后,运行该应用并登录帐号。然后选择应用中的”New App”按钮,然后选择自己要增加Crashlytics的工程,然后Crashlytics的应用会提示你为工程增加一个Run Script,如果你不知道如何添加,这里有一个帮助的文档。添加好之后的工程截图如下所示

接着,Crashlytics的本地应用会提示你将Crashlytics相关的framework拖到工程中。如下所示:

按照提示做完之后,就到了最后一步了,在AppDelegatedidFinishLaunchingWithOptions方法中加入如下代码:

#import <Crashlytics/Crashlytics.h>

- (BOOL)application:(UIApplication *)application
  didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [Crashlytics startWithAPIKey:@"your identify code"];
}

之后,运行一下程序,Crashlytics就会检测到你设置成功。如果你感兴趣,可以自己手工触发一个崩溃记录,看Crashlytics能否帮你收集到。使用如下代码即可

[[Crashlytics sharedInstance] crash];

如果你想测试一个Exception导致的崩溃,可以使用如下代码:

[NSObject doesNotRecognizeSelector];
[arrayWithOnlyTwoElements objectAtIndex:3];

应用对外发布后,就可以在Crashlytics后台查看和修改相关的记录。另外,Crashlytics还支持将数据导入到其它项目管理工具(例如Redmine或Jira)如下所示,配置都非常简单。

实现原理和使用体会实现原理

在原理上,Crashlytics的通过以下2步完成崩溃日志的上传和分析:

1、提供应用SDK,你需要在应用启动时调用其SDK来设置你的应用。SDK会集成到你的应用中,完成Crash信息的收集和上传。

2、修改工程的编译配置,加入一段代码,在你每次工程编译完成后,上传该工程对应的dSYM文件。研究过手工分析Crash日志的同学应该知道,只有通过该文件,才能将Crash日志还原成可读的Call Stack信息。

使用体会

为了更加方便开发者设置相应的工程,Crashlytics提供了mac端的应用程序,帮助你检测相关工程是否正确设置并且提供相应的帮助信息。后来我还发现,该程序还会自动帮你升级Crashlytics的SDK文件。虽然这一点很体贴,但是我个人觉得还是不太友好。因为毕竟修改SDK会影响应用编译后的内部逻辑,在没有任何通知的情况下升级,我都无法确定Crashlytics有没有干坏事。不过国外的服务,特别是象Twitter这种相对较大知名度公司提供的服务要有节操得多,所以在这一点上我还是比较放心的。

使用Crashlytics可以让你摆脱管理应用崩溃记录的烦恼。并且帮助你找出应用的一些重大隐藏性Bug。例如我之前写的一个应用就过一个缓存过期的问题,只有当缓存过期时才会触发这个Bug,这样的问题在测试人员那边很难触发,因为他们不可能了解你的应用内部实现细节。通过Crashlytics,使我清楚了解到应用Crash的数量和位置,结合自己的开发经验,就很容易找到问题所在了。

值得一提的是,Crashlytics本身的官方文档也非常健全,如果你在使用中遇到任何问题,也可以上去查看详细的文档。

愿Crashlytics能让大家的应用都更加健壮~

以上这篇Crashlytics Android 异常报告统计管理(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • android中UI主线程与子线程深入分析

    android中UI主线程与子线程深入分析

    这篇文章主要介绍了android中UI主线程与子线程,以实例形式较为深入的分析了UI主线程与子线程的运行原理与操作技巧,有助于深入了解Android程序设计,需要的朋友可以参考下
    2015-02-02
  • Android Application类的详细介绍

    Android Application类的详细介绍

    这篇文章主要介绍了Android Application类的详细介绍的相关资料,这里对Android Application的概念、作用、优点及其他注意事项进行了一一介绍,需要的朋友可以参考下
    2016-11-11
  • Android 仿摩拜单车共享单车进度条实现StepView效果

    Android 仿摩拜单车共享单车进度条实现StepView效果

    这篇文章主要介绍了android 仿摩拜单车共享单车进度条实现StepView效果的实例,通过定义五个状态,分别为:为完成、正在进行、已完成、终点完成、终点未完成。具体实现代码,大家参考下
    2017-03-03
  • Android viewpage实现禁止滑动的功能

    Android viewpage实现禁止滑动的功能

    这篇文章主要介绍了Android viewpage实现禁止滑动的功能的相关资料,这里附有实现的实例代码,主要还是重新 ViewPage 这个类,需要的朋友可以参考下
    2016-11-11
  • android实现人脸识别技术的示例代码

    android实现人脸识别技术的示例代码

    本篇文章主要介绍了android人脸识别技术的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Kotlin协程开发之Flow的融合与Channel容量及溢出策略介绍

    Kotlin协程开发之Flow的融合与Channel容量及溢出策略介绍

    这篇文章主要介绍了Kotlin协程:Flow的融合、Channel容量、溢出策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • Android中TextView显示插入的图片实现方法

    Android中TextView显示插入的图片实现方法

    这篇文章主要介绍了Android中TextView显示插入的图片实现方法,结合实例形式分析了TextView三种显示插入图片的实现技巧,需要的朋友可以参考下
    2016-08-08
  • Android使用BottomNavigationBar实现导航栏功能

    Android使用BottomNavigationBar实现导航栏功能

    这篇文章主要介绍了Android使用BottomNavigationBar实现导航栏功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • Android 中三种启用线程的方法总结

    Android 中三种启用线程的方法总结

    下面小编就为大家带来一篇Android 中三种启用线程的方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Android OkHttp 结合php 多图片上传实例

    Android OkHttp 结合php 多图片上传实例

    本篇文章主要介绍了Android OkHttp 结合php 多图片上传实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05

最新评论