我想知道是否可以使用推送通知消息而不是服务,或者换句话说,如果推送通知交付完全可靠的话。我知道IOS不值得信任,但我不确定Google是否保证交付。所以,请赐教。
答案 0 :(得分:7)
不好意思。您可以在Google官方文档(https://developers.google.com/cloud-messaging/concept-options)上阅读的标准GCM推送通知是尽力服务。我引用:
换句话说,GCM将保证必须“现在或从不”传递的消息尽力而为。
如果您正在寻找可靠的推送消息传递API,您可以尝试以下服务:
这两项服务都建立了类似于GCM的后台连接,以提高推送通知的可靠性。
答案 1 :(得分:3)
由于GCM底层架构[1] [2] [3]的各种问题,通过GCM / FCM发送的Android推送通知不可靠。推送通知可能会延迟,速率受限,传输中丢失,或者以与发送时不同的顺序到达。
您可以使用其他推送通知网关,这对您的时间关键操作需求更加可靠。
您可以尝试使用Pushy(https://pushy.me/)服务,该服务为Android应用提供高度可靠的推送通知网关,使用自己的后台MQTT连接独立于GCM工作。
完全披露:我创立了Pushy。
答案 2 :(得分:2)
事实是,没有办法100%保证任何通知。苹果和谷歌控制之外的几个变量将阻止他们这样做。在用户设备上,您可以使用用户首选项和网络连接等内容。
尽管这会使他们无法保证交付的最重要的事情之一是,他们都没有对启动推送本身负全部责任。我希望这种情况发生变化,因为苹果和谷歌都开始探索应用服务托管,但他们仍然要对开发人员负全部责任。这意味着开发人员主要负责启动推送及其内容的服务器。这样他们仍然可以说"如果它没有交付那么它一定是你的错"。如果您熟悉iOS,那么您就知道它有多大的痛苦,但它只是设置您的计算机/服务器来处理远程推送通知。
我发现在接近100%的交付中越来越有用的是让像Parse.com这样的服务处理所有通知交付。它们提供了一些简洁的功能,如跟踪所有已安装的设备,操作系统以及推送通知状态(徽章编号)。他们提供了一些很酷的其他功能。
答案 3 :(得分:0)
Nathan Kellert描述,它们依赖于网络连接和其他问题。 如果与受信任的服务提供商一起使用,则推送可能非常有用。 如果你想使用推送服务,那么选项也是解析,推送和其他。