我正在使用react-native-firebase和firebase-messaging来实现推送通知 .

虽然我可以向所有人发送推送通知,但我无法将其发送给个人 . 据我所知,我需要的只是我检索的FCM注册令牌by following the documentation

firebase.messaging().getToken()
  .then(fcmToken => {
    if (fcmToken) {
      console.log("fcm token", fcmToken);
    } else {
      console.log("fcm token", "null");
    } 
  });

我收到的令牌是一个似是而非的令牌,但是当我将该令牌从日志复制到firebase控制台并尝试将其发送到单个设备时,没有收到任何内容 . (如果我推送到用户段,则安装了应用程序的所有设备都会收到它) .

由于我无法测试iOS,这可能也可能不是iOS上的问题 .

在我的build.gradle文件中,包括firebase相关库,如下所示:

compile(project(':react-native-firebase')) {
    transitive = false
}

implementation "com.google.android.gms:play-services-base:15.0.1"
implementation "com.google.firebase:firebase-core:16.0.1"
implementation 'com.google.firebase:firebase-auth:16.0.2'
implementation "com.google.firebase:firebase-messaging:17.1.0"

在MainApplication.java文件中,我将它们添加到ReactPackages列表中 .

new RNGoogleSigninPackage(),
new RNFirebasePackage(),
new RNFirebaseMessagingPackage(),
new RNFirebaseAuthPackage()

我的AndroidManifest没有任何与Firebase相关的更改,因为我发现推送通知即使没有它们也能正常工作 . (在尝试实现推送通知时,我注意到所有手机都在接收它们,除了我正在积极处理的那些 - 所以我回滚了代码 . )

编辑:我设法收到一个设备通知 . 没有任何改变,它突然正好工作一次 . 现在它不再起作用了 .