如何用java给指定的微信用户推送消息,每天早上十点推送一条消息。麻烦说的仔细一点,最好能给出实例谢谢
首先有自己的web服务器,申请域名。
申请微信公众平台的开发者资格,申请一个公众号。在自己的服务器端开发定时任务程序,程序主要流程是两部,一:按公众平台的认证接口获取公众号认证(获取令牌),二:调用公众平台消息推送接口(RESTful风格的接口)
总之需要研究微信公众平台的接口说明。
http://mpweixinqqcom/wiki/indexphptitle=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E6%8C%87%E5%8D%97接入他们第三方推送对服务器压力最小。开发者可以节省 90% 的成本,而用户在推送上每月平均只会花掉 08-12M 的流量,是个流量和耗电量都可控的推送。自主开发的推送在用户到达一定规模后容易让服务器面临不可控的压力,甚至崩溃。
第三方推送建议用极光推送,极光推送作为较成熟的推送平台,通过集成基础操作。为客户端以及服务端节省了大量时间来实现推送效果。
极光推送优势如下:(1)用户注册数无限制;(2)推送速度:10万条/秒(共享)|| 20万条/秒(独享);(3)独立推送通道、公网推送加速方案;(4)724专人专线服务;(1)最大并发数无限制;(2)推送速度:20万条/秒(独享);(3)推送条数无限制;(4)用户可分群推送;(5)专向高速推送通道;(6)离线消息可保存条数50条;(7)VIP技术支持。(8)极光官网上的文档很全,并且有互动问答以及博客长文,但是个推官网上没有;
极光推送已经覆盖了近10亿Android、IOS终端,30多万款APP应用,服务总用户数超过30亿,每天消息推送量达5亿多条,已成为移动应用数据平台。
几种常见的解决方案实现原理
1、轮询(Pull)方式:客户端定时向服务器发送询问消息,一旦服务器有变化则立即同步消息。但这种方式对服务器的压力太大,且比较费客户端的流量,就是不断地向服务器发送请求,但是这样开发很简单。
2、SMS(Push)方式:通过拦截SMS消息并且解析消息内容来了解服务器的命令,但这种方式一般用户在经济上很难承受。服务器的消息,通过发送短信的方式,一般很少采用这种方式,成本高。
3、持久连接(Push)方式:客户端和服务器之间建立长久连接,这样就可以实现消息的及时行和实时性。但是这种方式开发难度大,开发周期较长。这是最长使用的方式,目前主流的消息推送都是通过这种方式做的。
消息推送方式分为两种:短连接和长连接。也就是客户端与服务器之间的数据传输交互方式不同。
1、短连接又称为轮询,方式为pull。客户端定时向服务器发送请求,询问是否有数据,时间频次可以设置。这种的方式更适合web端使用,用在APP有很多弊端。
2、长连接方式为push,服务器主动向客户端发送数据。市面上移动端产品基本采用这种方式,但是ios和android系统有很大的区别。不论手机上安装了多少个APP,也只有一条长连接,消息最终由苹果服务器进行内置分发。即使用户关闭了APP,依然可以收到消息推送。
实现系统消息推送,就需要比较好的第三方软件就行辅助,极光就是一个不错的选择。极光JPush 是经过考验的大规模 App 推送平台,每天推送消息量级为数百亿条。JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果。 JPush 全面支持 Android, iOS, Winphone 三大手机平台。
用户点击消息时加个事件,弄个字段表示“已读/未读”不就行了。。。。
AJAX获取用户未读的消息条数返回前台
客户端主动定时的去拿服务器端,有消息就提醒(polling);
服务器主动"推送"消息给客户端,这里说的主动推送,并不是真的,而是客户端申请了需要显示消息提醒的信息,而服务端暂时没给客户端答复,把请求hold住了。。(comet)。
0条评论