如何根据角色发送通知?
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 是开始使用此类自定义映射的好地方
如何根据角色发送通知。例如,如果我有 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 是开始使用此类自定义映射的好地方