如何根据角色发送通知?

How to send notification based on role?

如何根据角色发送通知。例如,如果我有 5 个不同的角色,我 select 只有一个角色,那么该角色的人应该使用 FCM 获得通知,而其余角色不应该为此获得通知。是否需要在后台写service(using SPRING,PHP)?

完成此操作的最简单方法是 subscribe each client to a topic 基于他们的角色。例如在 Android 应用中:

FirebaseMessaging.getInstance().subscribeToTopic("myRole");

然后你 can send a message to all users in a role with the Firebase Admin SDK 有:

admin.messaging().sendToTopic("myRole", { 
    "notification" : {
      "body" : "great match!",
      "title" : "Portugal vs. Denmark"
    }
})

注意几点:

  • 向设备发送消息需要您指定 FCM 服务器密钥。顾名思义,此密钥只能在您控制的服务器或其他环境中使用。 Admin SDK 使用完整凭据运行,因此可以自动访问 FCM 服务器密钥。
  • 任何人都可以订阅任何主题。所以在上面的例子中,恶意编码者也可以订阅他们不属于的角色的主题。如果这对您的应用程序来说是个问题,您不应使用主题,而应维护您自己的 FCM 注册令牌到角色的服务器端映射。 example from the Cloud Functions documentation 是开始使用此类自定义映射的好地方