You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

近期FCM推送令牌长度大幅缩短且推送无法送达问题咨询

你获取到的22位字符并非FCM推送令牌,而是Firebase Installation ID(FID),该ID仅用于标识设备上的Firebase安装实例,本身长度就固定在22位左右,完全不具备推送触达能力,这就是你遇到推送无法送达问题的根本原因。

你当前的代码调用的是FirebaseInstallations.getInstance().id,这个API的返回值本身就不是推送令牌,属于API调用错误。2019年Firebase废弃了旧版的FirebaseInstanceId接口,将原接口的能力拆分到了两个不同的模块:

  • 设备安装实例标识(即你现在拿到的22位FID),由FirebaseInstallations API提供
  • FCM推送令牌(即你之前用到的160位左右的长串),由FirebaseMessaging API提供

正确的FCM推送令牌获取代码如下:

FirebaseMessaging.getInstance().token.addOnCompleteListener { task ->
    if (!task.isSuccessful) {
        Timber.d("%s get FCM token failed", LOG_TAG)
        return@addOnCompleteListener
    }
    // 此处获取到的才是可以用于推送的有效令牌,长度约160位
    val fcmPushToken = task.result
    ...
}

内容的提问来源于stack exchange,提问作者Emanuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:42:01