Firebase特性之崩溃报告

在2016年的Google IO大会上,Google 公布了若干有关Firebase有意思的新特性。全新的Firebase添加了全新的工具,将成为统一移动应用开发的平台,帮助开发者快速开发,提高应用的开发质量,吸引用户和从应用中盈利。你可以从Firebase新官网YouTube视频查看更多。

Firebase更新的一些新特性包括:

  • Firebase 分析
  • Firebase 云信息
  • Firebase 测试实验室和崩溃报告
  • Firebase 通知、动态链接、App 索引、广告、邀请等等

在这里文章中,我们来共同学习一下如何在Androids上使用Firebase的崩溃报告。

如何使用?

Firebase 3.0 需要运行在Google服务9.0或者更高的环境上,需要将Firebase添加到Android Studio中,你需要执行一下的操作步骤:

请求前的准备

确保你的开发环境已经满足于以下的这些前提条件:

  • 需要运行在一个支持Google服务是9.0.0或者更高的Android设备上
  • 需要Android SDK 管理器中已经安装了Google 服务的相关插件文件,且是3.0.0或者更高版本。
  • 需要Android Studio 的版本是1.5或者更高版本。
  • 需要有一个Android项目,可以是已存在的或者新项目,同时拿到它的包名备用。

添加Firebase到应用

这一步,需要添加Firebase到你的应用中,你需要到Firebase console上去创建一个Firebase的项目。

点击Create New Project(如果你开始一个新的项目)或者import Google Project(如果你导入一个已经存在的项目),我这里创建一个新的项目。

firebase_create_step_one

Firebase支持多平台,AndroidIOSWeb.我们这里是以Android为例

firebase_create_step_two

firebase_create_step_three

现在,在你的APP应用里面,点击Add Firebase to your Android app

firebase_create_step_four

将会弹出一个对话框让你输入: 包名和SHAI

firebase_create_step_five

SHAI的获取办法:

keytool -exportcert -list -v \
-alias androiddebugkey -keystore %USERPROFILE%.android\debug.keystore (Windows)

keytool -exportcert -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore (mac/linux)

我的系统环境是linux,故使用后者命令,在终端执行并获得SHAI:

firebase_create_step_six

包名和SHAI填入输入框内,点击ADD APP,随后你将会下载一个google-services.json的配置文件,根据页面提示,放到项目里指定位置。

firebase_create_step_seven

google-services.json文件放到project层级下的app目录下:

firebase_create_step_eight

添加SDK到应用

你的应用中要使用Firebase,你需要添加和设置SDK到你的应用中去,首先,添加以下行到你的项目根下的builde.gradle文件中去:

1
2
3
4
5
6
buildscript {
dependencies {
// Add this line
classpath 'com.google.gms:google-services:3.0.0'
}
}

然后在你的app模块的build.gradle文件中,在文件的底部应用这个Google服务的插件
你的builde.gradle应该是这个样子的:

1
2
3
4
5
6
7
8
9
apply plugin: 'com.android.application' 
android {
// ...
}
dependencies {
// ...
}
// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'

然后点击Sync now同步一下文件

设置崩溃报告

现在,到了设置崩溃报告了,你需要添加Firebase崩溃报告依赖,你需要到你模块的build.gradle文件中去添加如下行:

1
compile 'com.google.firebase:firebase-crash:9.0.1'

那么你的build.gradle文件大概就是这个样子:

apply plugin: 'com.android.application' 
android { 
   // ... 
} 
dependencies { 
   // ...
   compile 'com.google.firebase:firebase-crash:9.0.1' 
} 
// ADD THIS AT THE BOTTOM 
apply plugin: 'com.google.gms.google-services'

然后点击Sync now同步一下文件

创建一个崩溃报告

以上的操作已经完成了所有的配置,现在我们来创建一个崩溃报告。

我在项目的MainActivity中这样定义,模拟测试一个java.lang.NullPointerException的崩溃异常的情况:

定义一个TextView,但是不给它实例化对象,此时Textview对象为null,然后给它赋值一个字符串显示,给一个为空的对象赋值就会抛出java.lang.NullPointerException异常,以下是测试代码

firebase_crash_test_local_code

当程序运行后,log中抛出了异常,但是程序没有崩溃退出,以下是本地log:

firebase_crash_test_local_log

回到Firebase控制台查看,点击左侧的crash,大于20分钟左右,就能看到上传的java.lang.NullPointerException崩溃报告

firebase_crash_reporting_one

firebase_crash_reporting_two

点击上图异常日志中的超链接,可以跳转到以下界面,在这里可以看到java.lang.NullPointerException相关的详细数据等

firebase_crash_reporting_three

这里可以看到测试的java.lang.NullPointerException具体行数在MainActivity.onCreate(MainActivity.java:18)

firebase_crash_reporting_four

以上简单的介绍了如何在App应用中使用Firebase崩溃日志报告的相关内容,有关Firebase的其他特性,后续总结。如果不足,欢迎指正,谢谢。

if (本文对您有用) { Pay (请随意¥打赏) } else { Commit feedback (底部评论区提交建议、反馈) } 感谢支持!