阅读 912
Firebase保姆级接入流程

Firebase保姆级接入流程

接入前提

  1. 目标 API 级别为 16 (Jelly Bean) 或更高

  2. 使用 Gradle 4.1 或更高版本

  3. 使用 Jetpack (AndroidX),同时需要满足以下版本要求:

    • com.android.tools.build:gradle 3.2.1 版或更高版本
    • compileSdkVersion 28 或更高版本
  4. 需要在设备或模拟器上安装 Google Play 服务

Firebae创建应用

1. 点击添加项目

微信截图_20210802181918.png

2. 起个好听的项目名

微信截图_20210802182226.png

3. 启用Analytics

微信截图_20210802182415.png

4.选择Analytics账号并创建应用

微信截图_20210802182740.png

应用接入

1. 点击Android图标

微信截图_20210802183023.png

2. 填入应用包名并注册应用

微信截图_20210802183550.png

3. 下载红框内的json文件,并放在主module(即截图中的app)目录下

微信截图_20210802183837.png

4. 添加Firebase SDK

  1. 项目级 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
    ...
  }
}
复制代码
  1. 应用级 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')
}
复制代码

微信截图_20210802184257.png

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 微信截图_20210803154750.png 选择Send your first messaging 微信截图_20210803154911.png 填上要发送的标题和内容,然后点下一步 微信截图_20210803155016.png 选择需要推送的应用,然后直接点审核(默认立即发送) 微信截图_20210803155101.png

推送测试消息

获取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();
        }
    });
复制代码

微信截图_20210803160004.png 点击新建通知 微信截图_20210803160225.png 填上要发送的标题和内容,然后点发送测试消息 微信截图_20210803160249.png 填入第一步获取的Token,然后点测试 微信截图_20210803160328.png 微信截图_20210803161308.png

推送给订阅某主题用户

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();
            }
        });
复制代码

填上要发送的标题和内容,然后点下一步 微信截图_20210803163305.png 选择主题,填入第一步模拟的主题Boss_Refresh,然后点审核即可 微信截图_20210803163402.png

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

微信截图_20210804150441.png

如果操作正常,DebugView界面左上角会显示测试手机的型号

微信截图_20210804151343.png

如果没有显示手机型号可以尝试以下操作:

  • 检测上述启动调试模式的adb命令是否正确
  • 检查手机是否开启了USB调试
  • 检查VPN是否开启
  • 数据线拔了重插试试

以下是数据展示

微信截图_20210804151402.png

4. Events

DebugView模式下有数据那基本就没什么问题了,这里主要就展示一下正常事件上报的样子

微信截图_20210804152500.png

如果喜欢的文章,就关注下我的公众号 Android番茄君吧!

qrcode_for_gh_c2b950f61c29_258.jpg

文章分类
Android
文章标签