3

我的用例:登录我的应用程序的用户应该能够向在另一台 Android 设备上登录应用程序的自己发送消息。如果用户有多个设备,那么一旦他打开消息,其他设备上的通知必须消失。

疑点:

  1. 如何跨设备向特定用户发送数据?我了解如何使用 GCM 向不同设备上的不同用户发送消息,但这似乎相当混乱。

  2. 如何在具有足够安全性的 MQTT 中实现这一点?我尽可能多地阅读了有关安全性的内容,并得出结论认为 MQTT 不负责它,我必须在代理级别实施我自己的安全措施。到目前为止,Mosquitto 代理允许用户名/密码身份验证,但对于实现 Oauth 的应用程序,用户名/密码似乎相当容易受到攻击。

还是我应该转到 XMPP?

4

1 回答 1

2

您可以使用 GCM 的新用户通知功能。

什么是用户通知?

第三方服务器可以将单个消息发送到在单个用户拥有的设备上运行的应用程序的多个实例。此功能称为用户通知。用户通知使用户拥有的每个应用程序实例都可以反映最新的消息传递状态。例如:

  • 如果消息已在一个设备上处理,则其他设备上的 GCM 消息将被忽略。例如,如果用户在一台设备上处理了日历通知,则该通知将在用户的其他设备上消失。
  • 如果消息尚未发送到设备但已被处理,则 GCM 服务器将其从其他设备的未发送队列中删除。
  • 同样,设备可以向 notification_key 发送消息,这是 GCM 用来将通知扇出到其注册 ID 与该密钥相关联的所有设备的令牌。
于 2013-06-12T19:55:47.147 回答