推送通知发送到具有react-native-firebase的其他设备时出现问题

时间:2019-02-25 21:15:56

标签: android firebase react-native firebase-cloud-messaging react-native-firebase

我很难使用react-native-firebase软件包向另一个用户发送通知

环境详细信息:

  • 本机0.58.4
  • react-native-firebase 5.2.2
  • Android 8
  

我不使用Firebase身份验证-身份验证由API完成。

严格遵守react-native-firebase文档(Android通知)中描述的所有设置。

流量:

用户已成功通过身份验证。然后定义了您的频道。

fbase.messaging().hasPermission()
   .then(enabled => {
      if (!enabled) {
         fbase.messaging().requestPermission();
      }
   });

const channel = new fbase.notifications.Android.Channel(userId, 'User Notifications', fbase.notifications.Android.Importance.Max)
   .setDescription('Logged in users notifications');
//userId is 43
fbase.notifications().android.createChannel(channel);

然后,将如下所示向自己发送通知。

const notification = new fbase.notifications.Notification()
  .setNotificationId('6878')
  .setTitle(`Proposta respondida por Zé Carlos`)
  .setBody('Sim, estamos à disposição. Chame-nos no chat qualquer coisa.')
  .setData({
    action: 'Proposta Respondida',
    serviceOrderId: '68',
    companyAvatar: null,
    companyName: 'Auto Mecânica Joãozinho'
  });
  notification.android.setChannelId('43');
  notification.android.setSmallIcon("ic_notification");
  notification.android.setVibrate([1000, 1000]);
  notification.android.setLargeIcon('imageUrl');
  notification.android.setTicker('Não falou nada não falou em');

这有效,如下图所示。

Notification Image

当我与另一个用户(在另一个设备上)进行身份验证并尝试发送相同的通知时,会发生问题。它没有到达第一台设备上。

是否需要通过Firebase fcm进行身份验证?

或其他用于向其他设备显示通知的设置?

先谢谢您

1 个答案:

答案 0 :(得分:0)

您选择的方式只能发送本地通知。

例如,使用此方法,如果您从FCM收到仅数据消息,但应用程序不会自动显示该消息……您必须处理此问题。 (描述为here

要将通知发送到其他设备,您必须使用firebase.messaging.RemoteMessage()

在这里看看:https://rnfirebase.io/docs/v5.x.x/messaging/upstream-messages

希望,这对您有所帮助。