IOS信息推送的问题

2012-02-17 11:40:03 +08:00
 eary
推送通知的时候,不是有一堆device token么,如果其中某个用户删除了应用,那么device token 就会出现失效的情况。如果这样,大批量推送的时候如果含有一个失效的token , 整个推送就是无任何返回的情况下中止。比如10个token,第五个用户删除了,那么只有前四个人收到推送,而我们不知道那个失效了,也不知道从第六个重新推送。

据说有个解决方法叫feedback service,可以取到是谁失效了,那么移出那个失效的进行推送,这样就能成功了。但是现在feedback service 不知道为什么取不到任何内容。就是问问我们借助苹果的feedback service 是否是合理的,第二就是为什么取不到呢。


求指教。
5755 次点击
所在节点    iDev
4 条回复
eary
2012-02-27 18:07:02 +08:00
求解。
boring98
2012-03-08 15:36:49 +08:00
使用Enchanted请求报文格式,用Identifier标识发送给苹果的每一条信息。使用此种请求报文格式如果苹果发现请求数据非法(如token无效),苹果服务器会返回错误信息,然后才断开连接。
参见:
https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW1
于是,你就可以在Identifier上打主意,对消息进行区别了。
dazuiba
2012-03-13 13:41:52 +08:00
订阅feedback service 是可以滴.. 俺们用的ruby的apn-sender库(不支持enhence format).

code 大概是:

feedback=APN::Feedback.new(:cert_path=>File.join(Rails.root,"config/certs"), :environment => :production)
feedback.data.each{|data|
...........
}

楼上的方案也是可以滴,apn-sender不支持enhence format,有个em-apn支持这个.
eary
2012-03-15 11:31:33 +08:00
@dazuiba @boring98 感谢两位。

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

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

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

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

© 2021 V2EX