我需要在用户登录时将设备令牌设置为UID。这可能吗?如果是,怎么办?
答案 0 :(得分:1)
无法自行设置Firebase Cloud Messaging的设备令牌。设置用户ID实际上是一种反模式,因为同一用户可能最终会在不同设备上使用该应用。
如果您尝试向用户发送消息(即使该用户位于多个设备上),则需要自己将设备令牌与UID关联。我知道几种方法可以做到这一点:
一种执行此操作的方法是将令牌合并到设备组中,然后将其send a message to that device group合并。
另一种方法是自己为每个UID存储设备令牌,例如在Firebase数据库或Cloud Firestore中,并在它们上循环以将消息发送给用户的所有设备令牌。
第三种方法完全不需要您管理令牌。而是:为每个用户创建一个主题,然后让该用户订阅他们自己的主题。我在Sending notifications between Android devices with Firebase Database and Cloud Messaging中描述了这种方法。请注意,任何知道主题ID的人都可以订阅该主题,因此您只应使用这种方法进行公开(但有针对性的)交流。