接入前提
-
目标 API 级别为 16 (Jelly Bean) 或更高
-
使用 Gradle 4.1 或更高版本
-
使用 Jetpack (AndroidX),同时需要满足以下版本要求:
com.android.tools.build:gradle3.2.1 版或更高版本compileSdkVersion28 或更高版本
-
需要在设备或模拟器上安装 Google Play 服务
Firebae创建应用
1. 点击添加项目
2. 起个好听的项目名
3. 启用Analytics
4.选择Analytics账号并创建应用
应用接入
1. 点击Android图标
2. 填入应用包名并注册应用
3. 下载红框内的json文件,并放在主module(即截图中的app)目录下
4. 添加Firebase SDK
- 项目级 build.gradle
buildscript {
repositories {
// Check that you have the following line (if not, add it):
google() // Google's Maven repository
}
dependencies {
...
// Add this line
classpath 'com.google.gms:google-services:4.3.8'
}
}
allprojects {
...
repositories {
// Check that you have the following line (if not, add it):
google() // Google's Maven repository
...
}
}
- 应用级 build.gradle
apply plugin: 'com.android.application'
// Add this line
apply plugin: 'com.google.gms.google-services'
dependencies {
implementation platform('com.google.firebase:firebase-bom:28.3.0')
}
Firebase Cloud Messaging(消息推送)
1. 添加依赖
- 方式一:
implementation platform('com.google.firebase:firebase-bom:28.2.0')
implementation 'com.google.firebase:firebase-messaging'
- 方式二:
implementation 'com.google.firebase:firebase-messaging:22.0.0'
2. 推送消息
推送给所有用户
点击Cloud Messaging
选择Send your first messaging
填上要发送的标题和内容,然后点下一步
选择需要推送的应用,然后直接点审核(默认立即发送)
推送测试消息
获取Token
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (!task.isSuccessful()) {
Log.w(TAG, "Fetching FCM registration token failed", task.getException());
return;
}
String token = task.getResult();
Log.e(TAG, token);
Toast.makeText(MainActivity.this, token, Toast.LENGTH_SHORT).show();
}
});
点击新建通知
填上要发送的标题和内容,然后点发送测试消息
填入第一步获取的Token,然后点测试
推送给订阅某主题用户
AS模拟订阅--以世界Boss刷新为例
FirebaseMessaging.getInstance().subscribeToTopic("Boss_Refresh")
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (!task.isSuccessful()) {
Log.w(TAG, "订阅失败", task.getException());
}
Toast.makeText(MainActivity.this,"订阅成功", Toast.LENGTH_SHORT).show();
}
});
填上要发送的标题和内容,然后点下一步
选择主题,填入第一步模拟的主题Boss_Refresh,然后点审核即可
Google Analytics(事件上报及分析)
1. 添加依赖
- 方式一:
implementation platform('com.google.firebase:firebase-bom:28.2.0')
implementation 'com.google.firebase:firebase-analytics'
- 方式二:
implementation 'com.google.firebase:firebase-analytics:19.0.0'
ps:记得添加网络权限
<uses-permission android:name="android.permission.INTERNET" />
2. 设置埋点
布局上先随便扔2个按钮,然后绑定点击事件
关键代码:
FirebaseAnalytics.getInstance(this).logEvent("按钮1的点击事件",bundle);
代码演示:
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button_1:
bundle.putString("event_1","1111111111");
FirebaseAnalytics.getInstance(this).logEvent("按钮1的点击事件",bundle);
Log.e(TAG, "执行事件上报1");
break;
case R.id.button_2:
bundle.putString("event_2","222222222");
FirebaseAnalytics.getInstance(this).logEvent("按钮2的点击事件",bundle);
Log.e(TAG, "执行事件上报2");
break;
default:
break;
}
}
3. DebugView模式下测试
为什么第三步是DebugView测试呢,主要是因为正常的事件上报是有一定的延迟,不能给予开发者实时的反馈,而用DebugView是可以实时的展示上报事件在控制台界面上。
首先启动调试模式,
adb shell setprop debug.firebase.analytics.app 包名
例子:
adb shell setprop debug.firebase.analytics.app com.example.test
控制台开启DebugView
如果操作正常,DebugView界面左上角会显示测试手机的型号
如果没有显示手机型号可以尝试以下操作:
- 检测上述启动调试模式的adb命令是否正确
- 检查手机是否开启了USB调试
- 检查VPN是否开启
- 数据线拔了重插试试
以下是数据展示
4. Events
DebugView模式下有数据那基本就没什么问题了,这里主要就展示一下正常事件上报的样子
如果喜欢的文章,就关注下我的公众号 Android番茄君吧!