做移动应用开发,基本离不开应用程序的前端开发和服务器数据的后台处理,尴尬的是移动应用开发者不一定都懂后端开发,这在一定程度上加大了开发移动应用程序的困难。不过近几年出了一款新型的服务,叫BaaS(Backend as a Service,后端服务系统),是BaaS公司为移动开发者整合的云后端服务。也就是说,通过在云端的操作就可以处理一些简单的后端数据处理。BaaS供应商提供API,让开发者通过几行简单的代码就可以整合一些后端功能,比如数据存储,应用分析等。Firebase也是这样的BaaS。
Firebase在2014年被谷歌收购后不断成长,谷歌对其进行了一些列的整改,在2016年的I/O大会上发布了Firebase2.0。新版的Firebase以Analytics为功能拓展了很多实用的功能,比如远程配置、云消息推送、奔溃报告等,而且目前可以免费使用,这对于开发者来讲无疑是一大福音。这是Firebase官网。
如何将Firebase整合到移动应用中Firebase目前支持Android、iOS、web端三种移动应用,不同平台整合的步骤有所区别,可以跟着官方文档进行操作,这里只对Android平台进行记录。
进入firebase官网右上角有一个Go to console
,可以在控制台新建一个项目或对之前项目进行编辑。这里的项目和应用是有区别的,应用就是实打实在开发的一个应用程序,而项目里面可以包含多个应用,因为有些应用可能需要推送相同的消息给用户,而有些应用需要相同的数据,所以就可以把具有相同需求的应用添加到同一个项目中。最典型的例子就是iOS客户端和Android客户端,把这种跨平台的应用添加到同一个项目中就可以实现后台同步更新数据了。现在可以正式开始整合Firebase到Android应用中了:
前提条件
想要Firebase的众多功能还需要满足一定的硬件或软件方面的条件,比如有些功能是不能在国内使用的,但是所用功能都要满足最基本的硬性要求:
- Android版本在2.3之后,并且设备中需要有9.6.1版本或者更新的Google Play Services(建议保持最新版)
- Android SDK管理器中要有 Google Reopsitory 和 Google Play Services(这俩项也建议保持最新版)
- Android Studio需要是1.5版本或者1.5以后的
具备以上条件就可以放心的整合Firebase到应用中了。经过测试,只要满足了以上的条件,Firebase大部分功能都可以在国内使用。先检查是否符合开发要求:
检查Android设备
打开手机或者模拟器系统设置,滑到最底部有一个关于手机
,进去之后就可以看到当前设备的android版本:
返回到设置界面往上有一个应用
选项,进去之后在全部应用里找到Google Play Services,看看版本号是不是9.6.1以后的:
可以看到图中是9.6.83版本的,如果在没有找到这个选项说明手机还没有安装Google服务框架,真机可以到这里下载相应版本的apk安装包,同时记得下载新版的Google Play Store。如果是模拟器的话,可以下载X86平台相应版本的GApps,直接拖拽到模拟器界面会自动安装,之后重启就可以了。
检查SDK管理器
在Android Studio中打开SDK管理器,选择SDK tools选项卡,检查下图中选项的版本:
这两项建议保持最新版本的更新。检查完Android设备和SDK管理器之后,Android Studio的版本在打开的时候就可以看到了,建议保持官网最新的稳定版。
将Firebase整合到APP中
一切准备就绪就可以开始整合的工作了。
可以选择任意一个想整合Firebase的项目在Android Studio打开,也可以新建一个。新建完成后回到Firebase的控制版(console),点击新建项目:
按提示填好项目名和地区,firebase会根据设置的地区进行相应的分析,比如币种。创建完成后会跳转到firebase项目的仪表板,选择创建Android应用,弹出应用配置对话框:
软件包名可以在app级的gradle文件中的applicationId
属性中找到,也可以在java文件的最顶部找到:
在项目文件夹下有一个root-level(项目级)的gradle文件,在项目文件夹的app目录下有一个app级的gradle文件,稍后会对其进行相应配置。
将包名填写到应用配置的软件包名称中,还有一个调试签名证书SHA1,下面有介绍到firebase的部分功能需要这个SHA1密匙,所以还是填写一下。获取SHA1的方法有两个:
1.在Android Studio中获取。在AS面板的右侧有一个Gradle按钮,点开之后按图示双击signingReport(第一次创建的项目需要点击旁边的刷新按钮才会显示),会在底部Run面板看到输出结果,其中就包含我需要的SHA1:
2.在命令行获取。打开命令行工具输入如下命令:
keytool -exportcert -list-v -alias androiddebugkey -keystore <your_file_name>/.android/debug.keystore
<your_file_name>
是指.android
文件夹所在的目录。之后会需要输入密匙库口令,就是"android",回车就能在下面看到SHA1。
将获取到的SHA1值填入应用配置中,添加应用后会自动下载一个google-services.json
文件,将这个文件复制到AS项目中app文件夹下:
复制完成之后对gradle文件进行配置。在项目级gradle文件中的dependencies添加classpath:
classpath 'com.google.gms:google-services:3.0.0'
完成后如下图:
然后配置SDK,在app级gradle文件中添加:
dependencies {
...
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.google.firebase:firebase-core:9.6.1'
testCompile 'junt:junt:4.12'
}
apply plugin: 'com.google.gms.google-services'
添加后如图:
添加完成后点击右上角Sync Now
会重新构建项目。
图中框出来的是新增的内容,绿框中的是firebase核心库,因为firebase是核心功能是Analytics,所以添加了这两项之后就可以使用firebase的分析功能记录分析用户的使用情况了。这项核心功能就算不手动添加,AS也会自动完成,不过为了保证是最新版的,所以手动添加。如果需要使用firebase的其他功能,就要将相应的库添加到绿框标出的核心库后面,各项功能可用库的版本可以在官方文档看到:
现在我们将app部署到设备中查看firebase是否配置成功。和平时一样将app运行到相应设备,查看底部监控器的输出的Log,如果出现FirebaseApp initialization successful
则说明已经将firebase整合到应用中了,接下来就可以添加相应的API配置firebase功能到APP中了。
如果在查看SHA1密匙过程中是在AS中获取的话,运行图标处会变成,点击倒三角改为app就可以正常运行了。
热门评论
A nice piece of information and looking fabulous, Honest work and please update some more.
高手啊,学习下哈,,,
请问运行到最后显得External task execution finished 'signingReport'.而且运行时不能安装到手机上,这是为什么?