首页 > 解决方案 > FCM 令牌在我的设备上生成,但在其他设备上没有生成

问题描述

我有一个很奇怪的问题,

我有以下颤振代码在注册时为用户生成 FCM 令牌,以便我可以从我的后端向他们发送推送通知:

 String? fcmToken = await FirebaseMessaging.instance.getToken();
  if (fcmToken != null) {
    log("FCM Token is not null with value = $fcmToken");
    UserAPIService.refreshUserFCMToken(fcmToken);
  } else {
    log("FCM Token is null"); //Other users weirdly keep getting null
  }

此代码适用于我的 Android 设备。但不适用于我的应用的其他 Android 设备用户。

但是,我正在使用从我的nodejs后端生成的自定义令牌登录我的用户。

这是我生成自定义令牌的方式nodejs

let firebaseCustomToken = await firebase.auth().createCustomToken(apiKey);

然后在颤振方面我有这个代码:

await FirebaseAuth.instance
        .signInWithCustomToken(firebaseCustomToken/*This is sent from the backend immediately after sign up before communicating with firebase*/)
        .then((userCredentials)async {

  String? fcmToken = await FirebaseMessaging.instance.getToken();
  if (fcmToken != null) {
    log("FCM Token is not null with value = $fcmToken");
    UserAPIService.refreshUserFCMToken(fcmToken);
  } else {
    log("FCM Token is null"); //Other users weirdly keep getting null
  }

}

请注意,我已经向 firebase 提交了我的发布和调试密钥。

可能是什么问题,我似乎无法弄清楚?

标签: node.jsflutterfirebase-cloud-messaging

解决方案


推荐阅读