之前做的消息推送,向Android和ios客户端推送。这里只说ios的推送,ios的推送最后都会推送到苹果的APNS服务器上,再有APNS服务器推送到ios设备上。因为考虑到这一点,第一版的消息推送苹果的采用了直接推送到苹果的APNS服务器上。
1) 基于 JavaPNS 2.2 的实现 参考地址 : http://www.cnblogs.com/lihaozy/archive/2013/03/13/2957904.html 参考地址2:http://511930751.iteye.com/blog/1595298 jar 下载: http://code.google.com/p/javapns/downloads/detail?name=JavaPNS_2.2.jar&can=2&q= 不足之处在于推送多个设备的时候中间有一个的UDID不正确,会导致APNS连接断开,后面的都无法完成推送。(我的判断是 UDID length == 64) 2) 直接使用 APNS 推送 参考地址 : https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW21 客户端需要每次登陆后上传UDID(去年,UDID就不会变,因为UDID泄露,广告到处都是,今年的时候发现UDID会变)。 中文参考 : http://www.cocoachina.com/applenews/devnews/2014/0528/8582.html 3) 其它第三方的 极光(api调用频率600/min,标签支持不限制)、 个推、 百度、 信鸽(标签只支持1W个,api频率基本不限制,目前不收费,ios和android的客户端推送accessid\secretkey是分开的)…… ios的推送国际化(固定的词语) 之前做摄像机消息推送的时候,比如移动侦测,布防什么的,开始只推送出去的是中文的,最后需要国际化,使用的就是下面的方法 参考官方文档 https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW21
{ "aps" : { "alert" : { "loc-key" : "GAME_PLAY_REQUEST_FORMAT", "loc-args" : [ "Jenna", "Frank"] }, "sound" : "chime" }, "acme" : "foo" }
loc-key 客户端设置一个多语言的字典,推送到达,系统自动显示不用的语言,没有的话就是原始值。
如果alert里面什么都不写,ios设备是不会显示的。 4) git 上的 参考地址 https://github.com/hengyunabc/zpush
Java-ios推送
时间: 2024-10-05 14:05:35