没有谷歌帐户的Android云到设备消息传递

问题描述:

如果用户在其帐户中没有云到设备消息传递(C2DM),那么C2DM不起作用?没有谷歌帐户的Android云到设备消息传递

如果是这样,我该如何在没有Google帐户的情况下推送通知?

+0

是的,你是对的。肯定有一些第三方库可以在没有C2DM的情况下提供推送通知功能。尽管如此,它会增加电池的消耗。 –

的不同的技术来发送推送通知可以列出如下

  • Android云端到OS2.2 +
  • 用于预OS2.2设备的其它技术设备通讯(C2DM)。

Cloud to Device Messaging(C2DM)OS2.2 +:Android平台中使用的标准推送通知方法称为Android Cloud to Device Messaging(C2DM)。该服务提供了一种简单,轻量级的机制,服务器可以使用该机制告诉应用直接与服务器联系,以获取更新的数据。

C2DM允许向Android应用发送轻量级消息。消息传递服务不适用于通过消息发送大量用户内容。相反,它应该用于告诉应用程序服务器上有新的警报,以便应用程序可以获取它。

C2DM限制:

  • 消息大小限制为1024个字节。
  • 谷歌限制发送者合计发送的消息的数量,和一个发送方发送到一个特定的设备
  • C2DM不进行关于递送保证或消息
  • C2DM需要用户设置的次序的消息数他们的Google帐户在他们的移动设备上。
  • C2DM需要运行Android 2.2或更高版本的设备也有市场应用程序安装

服务器应该是

  • 能够使用HTTPS与C2DM服务器进行通信。能够与我们的客户进行沟通。
  • 能够发起到C2DM服务器的HTTP请求。
  • 能够根据需要处理请求和队列数据。例如,它应该能够执行指数回退。
  • 能够存储ClientLogin身份验证令牌和客户端注册ID。 ClientLogin Auth令牌包含在发送消息的POST请求头中。有关此主题的更多讨论,请参阅ClientLogin for Installed Applications。服务器应该存储令牌并有一个策略来定期刷新它。

预OS2的其他技术。2个设备:

  • 投票,而不是推
  • 短信
  • 持续TCP/IP
  • 第三方产品

投票,而不是推:Android应用程序可以定期轮询来自后台本地服务的新消息的服务器。您越频繁地进行实时推送就越接近您。

  • Adv:易于实施。
  • Disadv:不是实时的。将杀死电池。

短信:Android应用可以在Android phone.So拦截短信,如果当有通知的服务器可以发送短信,android的应用程序可以接收短信,然后再检查在服务器的新数据。

  • Adv:容易实施。完全实时更新。 Disadv:可能要付出高昂的代价。

爱立信实验室提供托管服务,允许发送多达2000个SMS。

持续TCP/IP:android应用程序启动一个长期大部分闲置的TCP/IP连接与服务器,并通过偶尔发送保持消息来维护它。只要服务器上有新的东西,它就会通过TCP连接向手机发送消息。

  • Adv:完全实时更新。
  • Disadv:很难在手机和服务器端实现可靠的服务。已知Android操作系统能够在内存不足时终止服务,因此我们的通知服务很容易消失。我们的手机进入睡眠状态后会发生什么?想象一下,如果所有的应用程序使用相同的技术。将会有大量的开路连接将会耗尽电池。

第三方产品

  • 城市飞艇推:大缺点是,它要求用户安装的应用航空邮件到他们的设备。
  • 执事项目
  • xtify
  • pushdroid.org