2013-03-13 65 views
1

我正在构建需要使用推送通知的应用程序。目前它只是一个iPhone应用程序,我已经实现了推送通知的手动版本。使用推送通知提供者有什么好处吗?

有相当多的服务为你做这种事情......使用它们有什么好处吗?有一个很好的API并不真正相关,因为我已经实现了手动推送。

主要的原因,我想问的是,我下载的应用程序的路径,发现他们的推送通知似乎快了很多和很多比我的应用程序更可靠......

顺便说一句,使用GAE为IM后端。

感谢

+0

只是好奇:你是如何在App Engine上实现推送通知的?我认为[那是不可能](http://stackoverflow.com/questions/1811439/is-it-possible-to-implement-iphone-push-notifications-in-a-google-app-engine-app) 。还是GAE代表别的东西? – omz 2013-03-13 02:47:28

+0

从技术上讲,我所做的只是使用2个服务器 - 一个在GAE上,另一个是在VHS上运行的应用程序引擎开发服务器 – 2013-03-13 03:46:56

+0

我看,谢谢澄清。 – omz 2013-03-13 04:07:20

回答

1

最明显的好处是用一个推送通知供应商是不是有自己编写的代码。编写一个高效可靠的Apple推送通知提供程序并不简单。如果您想要一个快速解决方案并愿意为此付费,那么使用现有的提供商可能是最佳选择。

在我看来,APNS API很糟糕。事实上,您没有得到成功通知的确认,这使得编写可靠的提供商变得困难。如果你想确保你不会错过苹果的错误响应,你必须经常从连接尝试阅读,并有大量的超时,这将使你的提供商变得缓慢。另一方面,如果您想尽快发送通知,则必须牺牲可靠性(因为您无法依赖获取Apple发送的所有错误响应)。当然,如果您确保数据库不包含无效的设备令牌,并且始终发送有效的有效负载,则可以假设您不会收到来自Apple的错误响应,这将允许您快速发送通知。

这就是说,我不确定现有的APN提供商有多可靠和/或快速。 确保您使用的提供商质量的最佳方法是自己编写它(除非您愿意花时间测试现有提供商的可靠性和速度)。