java后端要推送消息给前端的话一般要做定时任务或者轮询,不然就只能等前端请求才能给回应。
这里用的第三方软件:友盟推送http://www.umeng.com/
友盟里的集成文档已经说的很清楚了。这里只谈java sdk的集成
先下载sdkhttp://dev.umeng.com/push/ios/%E6%9C%8D%E5%8A%A1%E7%AB%AF%E4%BB%A3%E7%A0%81%E8%B0%83%E7%94%A8%E7%A4%BA%E4%BE%8B
前面的步骤跟着友盟推送的文档做就可以了,(先注册友盟账号)友盟里设置应用获取appkey和app master secret
这里用IOS app示范
appkey和secret都是自动生成的,下面的服务器ip地址就是你自己的ip地址或者你项目挂的ip地址,也就是白名单
代码的话主要是demo.java文件,里面有各种形式的推送,需要说的是友盟中有两种情景,一个是测试推送,一个是正式推送,
测试推送需要在友盟端添加测试设备
device Token是IOS端获取的,具体的我不清楚,搞IOS的获取很简单。(相应的android也有这一段)
添加好ip地址和token就可以试试测试推送了。
正式推送环境的话IOS需要上传生产证书,android不用证书,需要上传包名(这个在需要的时候就知道用在哪里了,不用刻意)。
使用过程中可能会碰到一个问题,广播推送和单播推送都OK,然而部分推送的时候友盟现有的标签可能不符合我们的要求,我们需要自己给用户打标签
java sdk中并没有集成这一接口,这让我好找了一会,最后在友盟论坛里找到了接口
具体的写法(签名,url拼凑)可以参考sdk中PushClient.java中的public String uploadContents方法
相对的还有api/tag/delete?sign=签名 api/tag/clear?sign=签名 api/tag/list?sign=签名等方法
给用户打上标签之后在友盟上需要几分钟时间才能显示。然后就可以用自己的标签给相应的用户推送消息。
另外推送策略也没有在代码中集成,我顺便加进去了IOSNotification.java
自己码的菜鸟代码,有兴趣的可以看看也可以相互交流(QQ:490639212)http://pan.baidu.com/s/1c2BrErm 密码:08p0
新闻热点
疑难解答