Android推送通知是否可靠?

我想知道是否可以使用推送通知消息而不是服务,换句话说,如果推送通知传递是完全可靠的。 我知道IOS是不可信的,但我不确定Google是否保证交付。 所以,请赐教。

不,谢谢。 您可以在Google的官方文档( https://developers.google.com/cloud-messaging/concept-options )上阅读的标准GCM推送通知是尽力而为的服务。 我引用:

换句话说,GCM将保证尽最大的努力来处理必须“现在或从不”的信息。

如果你正在寻找可靠的推送消息传递API,你可以试试Catapush 。 我们使用XMPP协议(如Whatsapp那样)为设备添加自己的实时背景连接,从而能够在大多数紧急情况下更快速地传递消息。 另外,我们还会跟踪发送的每个消息(发送,传送,读取,…)的实时状态,使您的系统能够实时响应。

事实是,没有办法100%保证任何通知。 苹果和谷歌控制之外的几个variables会阻止他们这样做。 在用户设备上,您可以使用用户首选项和networking连接。

尽pipe如此,最大的问题之一就是不能保证交货,因为没有100%的责任来发起交易。 我希望这个变化,因为苹果和谷歌都开始探索应用程序服务托pipe,但他们仍然把所有的责任,开发商。 这意味着开发人员主要负责启动推送及其内容的服务器。 这样他们仍然可以说“如果没有交付,那一定是你的错”。 如果你熟悉iOS,那么你知道有多大的痛苦,但它只是设置您的计算机/服务器来处理远程推送通知。

我发现在接近100%的交付中越来越有帮助的是让像Parse.com这样的服务处理所有的通知交付。 他们提供了一些整洁的function,如跟踪所有安装的设备,操作系统和推送通知状态(徽章号码)。 他们提供了一些非常酷的其他function。

他们依赖networking连接和Nathan Kellert描述的其他问题。 如果与受信任的服务提供者一起使用,推送可能非常有用。 如果你想使用推送服务,那么选项是parsing,pushboots和其他。

由于GCM底层架构的各种问题,通过GCM / FCM发送的Android推送通知是不可靠的[1] [2] [3] 。 推送通知可能会延迟,限速,在传输过程中丢失,或以与发送顺序不同的顺序到达。

您可以使用替代的推送通知网关,这对您的时间关键型操作需求来说更可靠。

您可以尝试Pushy( https://pushy.me/ ),该服务使用自己的后台MQTT连接为独立于GCM的Android应用程序提供高度可靠的推送通知网关。

充分披露:我创立了Pushy。