Android集成Firebase(Analytics功能)
Firebase的集成有两种方式,一种是使用 Firebase 智能助理,一种是手动添加Firebase。具体的集成步骤在Firebase官网上有,链接:将Firebase添加到Android项目。官网介绍的比较详尽,但是由于我第一次使用Firebase,并且初衷是集成google analytics,绕了很多弯路,研究了好几天才成功集成(顺便把Firebase集成到另一个项目里去了),所以在这里记录一下我的集成步骤,集成环境,还有贴一些相关文档链接。
集成Firebase的前提是创建Firebase 项目,如果还没有创建,先到Firebase控制台创建自己的项目。
添加完项目后,添加应用:
填写应用信息,下载配置文件(google-services.json,将该文件放在你应用的build.gradle同级目录中),在项目中写初始化代码
如果你按照提示,添加了SDK并且成功运行,得到以下结果,那么恭喜你,你成功了,不用继续往下看,如果遇到问题,还请继续往下看。
问题出在添加Firebase SDK,步骤写的很明白,代码也很少 。其实按照添加应用的步骤来操作,相当于手动添加SDK,那我就先说手动添加SDK,文档在此添加SDK。
手动添加SDK
首先纳入 google-services 插件和 Google 的 Maven 代码库:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath'com.android.tools.build:gradle:3.0.1'
classpath'com.google.gms:google-services:4.1.0'
}
}
在应用的 Gradle 文件中添加Firebase SDK 的依赖项和apply plugin:
dependencies {
// ...
implementation 'com.google.firebase:firebase-core:16.0.1'
}
// 注意,必须添加在文件底部!!!
apply plugin: 'com.google.gms.google-services'
配置完了,然后 implementation 'com.google.firebase:firebase-core:16.0.1'这行报错
All gms/firebase libraries must use the exact same version specification(mixing versions can lead to runtime crashes).Found versions 16.1.1,16.0.1...懒得打了
然后google了好久都没解决问题,我就放弃手动集成了。知道为啥,如何解决的童鞋麻烦私信我,谢谢哦~。
我是使用Firebase智能助理集成成功的
先不要关掉firebase页面
再往下看吧,嘿嘿~
智能集成SDK
PS:先把之前添加的apply plugin: 'com.google.gms.google-services'和 implementation 'com.google.firebase:firebase-core:16.0.1'删掉,classpath'com.google.gms:google-services:4.1.0'保留。
智能集成的前提是你使用的是 Android Studio 2.2 版或更高版本。我的是3.0.1版本。
1.点击 Tools > Firebase 以打开 Assistant 窗口,并点击Log an Analytics event。
2.点击 Connect to Firebase 按钮以关联至 Firebase,下图是连接成功后的样子。
3.添加Analytics组件,点击后我的出来这个弹窗
点击“Accept Changes”。注意看里边的com.google.firebase:firebase-core:11.0.4,版本号是11.0.4!!,不是最新版的,此时最新版的是16.0.3。然后同步一下,运行程序,成功了~
再回过头对比一下手动添加SDK所做的处理,就会发现,唯一的区别就是com.google.firebase:firebase-core的版本号。应该是我的环境不支持最新的版本,所以报错。智能集成的时候,自动给我继承了较低的版本。我之前鼓捣的时候已经通过SDK Manager把android SDK里的东西,需要升级的全部升级了,也安装了Google play service(不知道是不是必需的)。
所以建议使用智能集成的方式集成Firebase,操作简单方便,避免掉坑
最后留一些有用的文档地址
开始使用Google Analytics for Android
Google Analytics for Firebase
Analytics自动收集的事件