【问题标题】:Amazon sns/sqs offline messages APNS(Pubnub,SNS,APNS)Amazon sns/sqs 离线消息 APNS(Pubnub,SNS,APNS)
【发布时间】:2015-06-25 00:58:01
【问题描述】:

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

有没有人有使用 Amazon SNS/SQS 的经验,如果 APNS 处于离线状态,它是否会为您存储离线消息,然后在它重新在线时发送它,因为我读到 Apple APNS 删除离线的推送通知只存储最新消息。我不确定 Amazon SQS 是否能够知道消息是否不是通过 APNS 发送的并将其排队。 (随着结构的发展,SQS/SNS 将消息发送到 APNS,然后将 APNS 发送到设备,但是如果 APNS 看到设备离线怎么办,是否有一种机制让 SNS/SQS 知道该设备离线并将这些消息排队??)

看起来 APNS 的有效负载仍被操作系统限制为 2kb,即使 Amazon 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 设备发送实时通知。

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

【问题讨论】:

    标签: amazon-web-services apple-push-notifications amazon-sqs pubnub amazon-sns


    【解决方案1】:

    正如您在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 设备发送移动推送通知,即使在应用离线并且消息队列确保即使移动连接中断也能发送消息。

    【讨论】:

    • 感谢您的信息,对我来说不太清楚的部分是带有 APNS 的 SNS 部分。在亚马逊文档中,它说 SNS 可以与 SQS 一起使用,但它没有提到与 APNS 的“离线消息传递”,Apple 文档说 APNS 不会存储离线消息,而只会存储最新消息。那么 SNS/SQS 是否会知道消息已被 APNS 删除?并存储这些消息并稍后发送?另外,如果 Pubnub 只是一个套接字连接,那么它“基本上”与 Pusher 相同?
    • 嗯,这就是使用这些服务的缺点,而这正是 PubNub 解决问题的地方。 PubNub 存储消息,APNs 可以唤醒应用程序。因此,当一起使用时,APNS 用于在应用程序未使用时向用户发出警报,当应用程序启动时,它会连接到 PubNub 频道,以便在使用该应用程序的用户之间实现非常快速的连接和数据同步。
    • 关于 PubNub 和 Pusher,可以在 Quora 上找到详细解答:What are the competitive advantages of Pusher vs. PubNub?
    • 大家好,对不起,我只是想确保我理解清楚,所以即使使用 Amazon SNS/SQS,当 IOS 设备离线时,它也不会为您存储消息并在何时重新发送设备重新开启?因为我不是 100% 确定我知道如何实现 Pusher 以在 IOS 处于后台时自动触发加载数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 2021-10-04
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多