Python下貌似没有一个靠谱的APNS的client,容易调通好用的不支持长连接(比如APNSWrapper),pip上那个apns需要key和cert两个文件,不容易调通,而且看源码大多数的库都是写了个半吊子。

2013-12-30 17:02:46 +08:00
 ipconfiger
有人用过比较靠谱的Python的APNS provider么?
5295 次点击
所在节点    Python
10 条回复
kier
2013-12-30 17:08:15 +08:00
哎,我写了个,本来准备开源的,可惜公司不让!
assad
2013-12-30 17:49:45 +08:00
ipconfiger
2013-12-30 18:08:43 +08:00
@kier 写起来比较费功夫,不是催得急本来都打算自己写一个

@assad 测试过feedback没?有无在生产环境跑过?
felinx
2013-12-30 18:52:31 +08:00
自己写给200-500行的,我这是自己写的
felinx
2013-12-30 19:03:30 +08:00
est
2013-12-30 19:11:38 +08:00
apns支持长连接就几行代码的事情啊。有那么复杂么。

我觉得麻烦主要是调度。什么定时发送,区分语言、时区(不要凌晨2点吵醒用户),这个涉及到后台任务队列架构,才是麻烦。讨厌celery的飘过。
ipconfiger
2013-12-30 21:58:18 +08:00
@est 长连接过一段时间会自己断掉,然后如果空闲不知道多少时间也会自己断掉,然后这两个时间文档里没有说明。
这个也不算太复杂,但是最复杂的事情就是懒。为啥要自己写呢
est
2013-12-30 22:22:07 +08:00
@ipconfiger 大多数连接池都是只为频繁请求起作用。如果连接掉了,on-demand再临时开一个也不是什么大负担。。。随意设置个timeout即可啊。比如1小时什么的。

还有APNS服务器用的akamai cdn,好几个IP。我觉得可以随便日。
ipconfiger
2013-12-31 00:10:17 +08:00
@assad 修改版not work
kier
2013-12-31 09:14:46 +08:00
apns的连接长时间没有发送数据的话,会自己断掉,可以试试tcp的keepalive,或者定时断掉重连,我就是在没有数据的十分钟后自己主动断掉,有数据来了,再去连;
另外还有错误重发的问题,apns会返回错误的那条消息的identifier,你可以根据这个id,去把后面的消息都重发一遍,尽量保证消息的到达!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/95059

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX