【发布时间】:2014-05-05 06:59:02
【问题描述】:
组,
我计划为 Android/IOS 应用程序实现我自己的服务器推送通知服务器。所以我的应用程序服务器(可能通过 NodeJs 实现)将联系该通知服务器以将消息推送到设备。所以我通过互联网浏览并找到了以下现有解决方案。
谷歌云消息
苹果推送通知服务
Firefox 操作系统推送通知
微软推送通知服务
Q1)
在各自的网站上;他们只通知如何使用他们的通知服务器。但是,我需要有关他们如何实现服务器推送的信息。
请告诉我;他们是否遵循以下任何内容?
轮询
长轮询
流媒体
服务器发送事件
与客户端的 TLS、SSL 或 TCP 套接字连接
XMPP
Q2)
以下两种方法声称虽然我的应用程序没有运行;他们仍然可以向APP发送通知吗?这怎么可能?
苹果推送通知服务
Firefox 操作系统推送通知
Q3)
在 Firefox 操作系统中推送通知;他们已经告知他们正在避免保持活动状态以节省电池寿命。我的问题是没有 keep-alive 如何确定连接是否仍然存在?
Q4)
所有这些(GCM/APNS/FireFox OS)实现是否只是服务器端推送,不会接受来自客户端的请求。我对么?
所以除了推送消息之外,我的服务器仍然必须处理数百万个设备请求,对吧?
如果我在自己的通知服务器和客户端设备之间使用 websocket,我是否需要在我的应用服务器和客户端之间再维护一个 websocket 连接以接收来自设备的请求?
【问题讨论】:
-
Apple 推送通知由 iOS 而非您的应用程序控制。因此,即使应用程序未运行,这也是可用的。要发送通知,您打开到苹果服务器的 ssl 连接并发送推送通知有效负载。没有轮询或任何事情,因为 iOS 会处理所有事情。
-
@rckoenes 谢谢!!所以如果我想实现我自己的通知服务器;是否可以在 ios 上编写代码来打开与我的服务器的 SSL 连接?
-
不,您的服务器应该与 Apple 推送通知服务器通信。如果您打算编写自己的服务器,则不能用户推送通知,并且会耗尽电池,因为您需要从自己的服务器中提取消息。 Apple APNS 由 iOS 控制,它会偶尔连接到 Apples 服务器并收集设备上所有应用的所有推送通知。
-
@rckoenes 你能把这个添加为答案吗?
-
团队,所有这些问题都与决定选择服务器推送通知有关。我认为这是寻找服务器推送技术的人的一站式问题。请我不想从这里创建四个不同的问题。
标签: android ios push-notification apple-push-notifications