如何向 FCM(Firebase 云消息传递)令牌的特定用户发送消息?
Posted
技术标签:
【中文标题】如何向 FCM(Firebase 云消息传递)令牌的特定用户发送消息?【英文标题】:How to send a message to a specific user of an FCM (Firebase Cloud Messaging) token? 【发布时间】:2016-12-09 10:45:10 【问题描述】:问题是FCM
为设备的每个唯一应用程序提供了一个令牌,因此假设两个用户使用相同的设备和应用程序,一个注销以便另一个可以登录并使用该应用程序,我'我对流程应该如何进行感到困惑!现在两个用户拥有相同的令牌,因此他们都将收到即将到来的消息。
here 和 here 有人问过类似的问题,但我仍然不清楚!
我们将不胜感激。
【问题讨论】:
How to send notification to specific users with FCM?的可能重复 用链接编辑了我的帖子,但它仍然对我没有帮助,谢谢。 【参考方案1】:在登录时自己为每个用户生成一个user specific unique code
。将user specific unique code
与服务器端的推送通知一起发送。
现在向所有用户发送推送通知。当收到通知时检查user specific unique code
以识别用户
当 App 被杀死时,默认情况下android
会将“通知数据”显示为Notification
,因此“通知数据”应该是所有用户共有的。
用户特定数据应添加为“数据消息”。当推送通知到达时,将显示默认通知。“数据消息”将通过启动器活动中的Intent
。在这里您可以识别用户通过user specific unique code
并响应推送通知。
【讨论】:
这种方法对服务器和所有客户端都不是有效的,因为对于每条消息,服务器必须将其发送给所有用户,此外,每个用户都需要计算它是否是正确的接收者。正确的做法是仅通过服务器端选择收件人(FCM 令牌)并将消息仅发送给相应的用户。以上是关于如何向 FCM(Firebase 云消息传递)令牌的特定用户发送消息?的主要内容,如果未能解决你的问题,请参考以下文章
Android Firebase 云消息传递令牌 (FCM) 令牌太短/不完整
是否可以使用 Firebase 云消息传递 (FCM) 直接从设备将 PushNotifications 发送到特殊的 UDID?