如何在Android的这个特定用例中实现MQTT?

时间:2013-06-12 18:59:23

标签: android push-notification xmpp google-cloud-messaging mqtt

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

疑惑:

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

  2. 如何在MQTT中以足够的安全性实现这一目标?我尽可能多地阅读有关安全性的内容,并得出结论,MQTT不负责它,我将在代理级别实施自己的安全措施。截至目前,Mosquitto代理允许用户名/密码验证,但对于实现Oauth的应用程序,用户名/密码似乎相当脆弱。

  3. 或者我应该转移到XMPP?

1 个答案:

答案 0 :(得分:2)

您可以使用GCM的新User Notifications功能。

  

什么是用户通知?

     

第三方服务器可以向多个实例发送单个消息   在单个用户拥有的设备上运行的应用程序。这个功能是   称为用户通知。用户通知使其成为可能   用户拥有的每个应用实例都反映最新的消息   州。例如:

     
      
  • 如果在一台设备上处理了一条消息,则另一台设备上的GCM消息   设备被解雇。例如,如果用户已经处理过   在一台设备上发送日历通知,通知将会消失   用户的其他设备。
  •   
  • 如果尚未将消息传送到设备但已经处理过,则GCM服务器会将其从未发送的队列中删除   其他设备。
  •   
  • 同样,设备可以向notification_key发送消息,该消息是GCM用于向所有注册ID与密钥相关联的设备发送通知的令牌。
  •