如何根据角色发送通知?

时间:2017-07-20 12:01:12

标签: firebase firebase-cloud-messaging firebase-notifications

如何根据角色发送通知。例如,如果我有5个不同的角色,我只选择一个角色,那么该角色的人应该使用FCM获得通知,剩下的角色不应该这样做。我们是否需要在后端编写服务(使用SPRING,PHP)?

1 个答案:

答案 0 :(得分:0)

实现此目标的最简单方法是subscribe each client to a topic根据他们的角色。例如,在Android应用中:

{
    "size": 0,
    "aggs" : {
        "my_search" : {
            "date_histogram" : {
                "field" : "date",
                "interval" : "1s"
            }, 
            "aggs": {
                "categories": {
                    "terms": {
                        "field": "category"
                    }
                }
            }
        }
    }
}

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

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

有几点需要注意:

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