我正在使用其离线功能研究Amazon SNS和Pubnub以及APNS。我一直在阅读它超过10个小时。仍然没有巩固所有细节。
有没有人有使用Amazon SNS / SQS的经验,如果APNS处于离线状态,它是否会为您存储离线消息,然后在其重新联机时将其发送,因为我读到Apple APNS删除了离线仅存储的推送通知最新消息。我不确定Amazon SQS是否能够知道消息是否未通过APNS发送并排队。 (由于结构是SQS / SNS将消息发送到APNS,然后APNS发送到设备,但是如果APNS看到设备处于离线状态,那么是否存在一种机制,因此SNS / SQS知道它处于脱机状态并将这些消息排队??)
看起来APNS的有效载荷仍然受到操作系统限制为2kb甚至亚马逊SNS为256kb?
我已阅读此帖子What is advantage and disadvantage of using pubnub over Amazon Simple Notification Service (sns)?
但不确定我应该选择哪种方式,我只需要可靠的简单推送通知(当然是发送到设备),如果它处于脱机状态也会存储,并在重新联机时发送回设备。但IOS7和之前的消息有效载荷大小似乎非常低256kb,我需要至少1.5kb
另外一点,是Pubnub类似于Whatsapp类型,TCP或XMPP协议,保持连接?因为我读了那个
Apple限制iOS上的应用程序在后台运行,因此iOS开发人员可能会选择将APNS作为在应用程序在后台运行时向iOS设备提供实时通知的方法。 < / p>
所以这意味着即使我安装了pubnub,当应用程序在后台时,我也无法接收来自Pubnub的消息?由于IOS不允许Pubnub继续在后台连接其套接字?但我相信IOS应用程序可以在后台运行并保持套接字连接活着?
答案 0 :(得分:0)
正如您在What is advantage and disadvantage of using pubnub over Amazon Simple Notification Service (sns)?中所读到的,PubNub实时网络和Amazon SNS都使用发布/订阅隐喻来发送和路由数据。但是他们两个解决了不同的问题,所以它实际上取决于你想要解决的问题。
PubNub明确设计用于向终端用户设备(包括智能手机,平板电脑,浏览器和笔记本电脑)提供低延迟(低于0.25秒SLA)的数据。 PubNub通过维护始终打开到每个设备的套接字连接来实现这一点,并使用此开放套接字连接以低延迟“推送”数据。 Amazon SNS不是应用内实时通知的正确工具。 Amazon SNS更类似于Tibco或Tuxedo,它们是服务器到服务器的发布/订阅系统。
PubNub的核心重点是将数据快速传输到数百万台设备。 PubNub通过广播数据工作:使用PubNub,每个电话订阅一个频道,而服务器将数据发布到该频道。因此,数以百万计的电话可以订阅PubNub复制的同一频道,并同时向每个设备传送数据(通常在1/4秒内)。
Apple推送通知系统(APNS)旨在一次向一台设备发送数据,但不保证延迟。当应用程序当前未被使用(即不活动)时,APNS非常适合唤醒应用程序。当APNS和PubNub一起使用时,APNS用于在不使用应用程序时向用户发出警报,并且当应用程序启动时,它连接到PubNub通道,以便在使用者的观众之间实现非常快速的连接和数据同步应用程序。
Mobile Push Notifications for APNs允许您使用PubNub移动推送通知即使设备处于脱机状态也能发送APN。这样,您就可以向iOS和Android设备提供移动推送通知,即使应用离线,消息队列也可确保即使在移动连接丢失的情况下也可以发送消息。