安卓基础(Firebase Cloud Messaging)

发布于:2025-02-21 ⋅ 阅读:(138) ⋅ 点赞:(0)

FCM Token 是什么?

FCM Token(Firebase Cloud Messaging Token) 是一个 唯一的标识符,用于区分设备,Firebase 服务器 通过 Token 知道要把消息推送到哪个设备

为什么需要 FCM Token?

你的 App 需要一个唯一 ID,这样 Firebase 服务器才能准确地把推送消息发送给这个设备

就像每个人的手机号码一样,别人发短信给你时,必须知道你的号码。FCM Token 就相当于你的 App 设备的“手机号码”! 📱

流程

  1. 你在代码里调用 FirebaseMessaging.getInstance().getToken()
  2. Firebase 服务器会生成一个唯一的 Token,然后发送到你的手机
  3. 手机上的 App 获取这个 Token,并可以在 Logcat 里打印出来

如何获取 FCM Token?

在 Android App 里,你可以这样获取 FCM Token:

// 引入所需的 Android 类
import android.os.Bundle; // 用于管理 Activity 的生命周期
import android.util.Log; // 用于日志输出,方便调试
import com.google.firebase.messaging.FirebaseMessaging; // FCM 推送消息服务
import androidx.appcompat.app.AppCompatActivity; // 兼容性 Activity,适用于大多数 Android 版本

// 定义 MainActivity 类,并继承 AppCompatActivity
public class MainActivity extends AppCompatActivity {
    // 定义一个日志 TAG,用于在 Logcat 中标识日志输出
    private static final String TAG = "FCM-Demo";

    // Activity 生命周期中的 onCreate 方法(当 Activity 创建时执行)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); // 调用父类的 onCreate 方法,初始化 Activity
        setContentView(R.layout.activity_main); // 设置界面布局文件 activity_main.xml

        // 获取 FCM Token(Firebase Cloud Messaging 的唯一标识符)
        FirebaseMessaging.getInstance().getToken() // 通过 Firebase 获取当前设备的推送 Token
            .addOnCompleteListener(task -> { // 添加一个监听器,处理获取 Token 任务的结果
                if (!task.isSuccessful()) { // 检查是否获取失败
                    Log.w(TAG, "获取 FCM Token 失败", task.getException()); // 记录错误信息
                    return; // 退出方法
                }
                // 如果成功,获取 Token 并存储到字符串变量中
                String token = task.getResult();
                // 在 Logcat 输出 Token,用于调试
                Log.d(TAG, "FCM Token: " + token);
            });
    }
}

代码解读

FirebaseMessaging.getInstance().getToken():从 Firebase 服务器获取当前设备的推送 Token。
addOnCompleteListener:异步回调,获取 Token 成功或失败后都会触发这个监听器。
task.isSuccessful():检查获取 Token 是否成功,失败时记录日志。
Log.d(TAG, "FCM Token: " + token);:打印获取到的 Token,方便在 Logcat 查看。

完整流程(图示)

1. 手机 App 请求 Token  ——>  2. Firebase 生成 Token  ——>  3. Firebase 发送 Token 给手机
makefile
复制
编辑
手机App: Firebase,我要一个 Token!
   ⬇️
Firebase 服务器: 这是你的 Token!
   ⬇️
手机App: 收到 Token,我可以接收推送消息了!


网站公告

今日签到

点亮在社区的每一天
去签到