我正在开发一个具有登录功能的Android应用程序。用户可以使用相同的凭据(电子邮件和密码(从多个设备登录。我想在服务器即时发生时向用户发送通知。
根据我对谷歌FCM文档的理解,
- 需要在 FCM 中创建具有唯一
notification_key_name
(通常是用户 ID 或电子邮件(的组。然后添加设备,如下所示
https://android.googleapis.com/gcm/notification Content-Type:application/json Authorization:key=SERVER_KEY project_id:SENDER_ID { "operation": "create", "notification_key_name": "appUser-Chris", "registration_ids": ["4", "8", "15", "16", "23", "42"] }
因此,FCM 返回一个notification_key
。
我的问题是这个registration_ids
(["4", "8", "15", "16", "23", "42"]
(指的是什么?
来自应用程序数据库的那些是否像表中的用户 ID?
以下文档中未提及这些registration_ids
https://developers.google.com/cloud-messaging/notifications
registration_ids
引用使用FCM从相应客户端生成的每个设备唯一密钥
例如:您可以参考此文档以获取适用于 android 的令牌(registration_id(
在您的情况下,如果用户可以登录到多个设备,则每个设备都会从用户发送令牌,您应该为用户存储所有设备registration_id。
更新: 对于组消息,我们应该使用来自多个用户的registeration_ids创建notification_key,在这种情况下,我们可以使用notification_key,而不是一个一个地发送多个用户。