Amazon web services 亚马逊sns/sqs离线消息APNS(Pubnub、sns、APNS)

Amazon web services 亚马逊sns/sqs离线消息APNS(Pubnub、sns、APNS),amazon-web-services,apple-push-notifications,amazon-sqs,pubnub,amazon-sns,Amazon Web Services,Apple Push Notifications,Amazon Sqs,Pubnub,Amazon Sns,我正在研究亚马逊SNS、Pubnub和APNS的离线功能。我已经读了10个多小时了。仍然没有整合所有的细节 有没有人对Amazon SNS/SQS有过这样的经验:如果APNS离线,它是否会为您存储离线消息,然后在恢复在线时发送这些消息,正如我读到的,Apple APNS会删除推送通知,而离线时只存储最新消息。我不确定AmazonSQS是否能够知道消息是否不是通过APN发送的,并将其排队。(随着结构的发展,SQS/SNS将消息发送给APN,然后APN将消息发送给设备,但是如果APN看到设备处于脱机

我正在研究亚马逊SNS、Pubnub和APNS的离线功能。我已经读了10个多小时了。仍然没有整合所有的细节

有没有人对Amazon SNS/SQS有过这样的经验:如果APNS离线,它是否会为您存储离线消息,然后在恢复在线时发送这些消息,正如我读到的,Apple APNS会删除推送通知,而离线时只存储最新消息。我不确定AmazonSQS是否能够知道消息是否不是通过APN发送的,并将其排队。(随着结构的发展,SQS/SNS将消息发送给APN,然后APN将消息发送给设备,但是如果APN看到设备处于脱机状态,会发生什么情况,是否有机制让SNS/SQS知道设备处于脱机状态并将这些消息排队??)

而且看起来APNS的有效负载仍然被操作系统限制在2kb,即使亚马逊SNS是256kb

我读过这篇文章

但不确定我应该选择哪一种,我只需要简单的推送通知,该通知可靠(确保发送到设备),并且在设备脱机时也会存储,并在设备重新联机时发送回设备。但IOS7和之前的版本似乎有一个非常低的消息负载大小256kb,我需要至少1.5kb

另外一点,Pubnub是否类似于Whatsapp类型,使用TCP或XMPP协议保持连接?因为我读过

苹果限制iOS上的应用程序在后台运行,因此iOS开发者可以选择实施APNS,作为在应用程序在后台运行时向iOS设备发送实时通知的一种手段

那么,这是否意味着即使我安装了pubnub,当应用程序在后台时,我也无法接收来自pubnub的消息?因为IOS不允许Pubnub继续在后台连接其套接字?但我确信IOS应用程序可以在后台运行,并保持套接字连接的活力

如您所读,PubNub实时网络和Amazon SNS都使用发布/订阅隐喻来发送和路由数据。但这两种方法解决的问题不同,所以这实际上取决于你想解决什么问题

PubNub明确设计用于向终端用户设备(包括智能手机、平板电脑、浏览器和笔记本电脑)提供低延迟(低于0.25秒SLA)的数据。PubNub通过对每个设备保持始终打开的套接字连接来实现这一点,并使用此打开的套接字连接以低延迟“推送”数据。 Amazon SNS不是应用程序内实时通知的正确工具。亚马逊SNS更类似于Tibco或Tuxedo,它们是服务器到服务器的发布/订阅系统

PubNub的核心重点是快速地将数据传送到数以百万计的设备上。PubNub通过广播数据工作:使用PubNub,每部手机订阅一个频道,而服务器将数据发布到该频道。因此,数以百万计的手机可以订阅相同的频道,PubNub可以在该频道上同时复制数据并将数据传送到每个设备(通常不到1/4秒)

苹果推送通知系统(APNS)旨在一次向一台设备发送数据,而不保证延迟。APNS非常适合在当前未使用应用程序(即未激活)时唤醒应用程序。当APN和PubNub一起使用时,APN用于在应用程序未被使用时向用户发出警报,当应用程序启动时,它连接到PubNub频道,以便在使用应用程序的人群中实现非常快速的连接和数据同步


使用PubNub移动推送通知,您可以在设备脱机时发送APN。这使您可以向iOS和Android设备发送移动推送通知,即使应用程序处于离线状态消息队列也可以确保即使移动连接中断也能发送消息。

感谢您提供的信息,我不太清楚的一部分是SNS with APNS部分。在亚马逊的文档中,它说SNS可以与SQS一起使用,但它没有提到APNS的“离线消息”,苹果的文档说APNS不会存储离线消息,只存储最新的消息。那么SNS/SQS会知道这些消息被APN删除吗?存储这些消息并稍后发送?如果Pubnub只是一个套接字连接,那么它“基本上”与Pusher相同?这就是使用这些服务的缺点,这就是Pubnub解决问题的地方。PubNub存储消息,APN可以唤醒应用程序。因此,当一起使用时,APNS用于在应用程序未被使用时向用户发出警报,当应用程序启动时,它连接到PubNub频道,以便在使用该应用程序的人群中实现非常快速的连接和数据同步。关于PubNub和Pusher,你可以在Quora上找到详细答案:嗨,对不起,伙计们,我只是想确保我理解清楚,所以即使使用Amazon SNS/SQS,当IOS设备离线时,它也不会为您存储消息,并在设备重新启动时重新发送出去?因为我不是100%确定我知道如何在IOS处于后台时实现Pusher-to-auto-trigger来加载数据。