服务端SDK集成mpush推送
第一次使用mpush推送不太熟悉,绕了很多弯路
http://mpush.mydoc.io/?t=134853这是mpush开发手册,讲的还是挺详细的,里面有源码测试是一整套系统开发好了,按照流程走是可以接收到推送。
但是我需要的是服务端SDK集成开发怎么办?
其实很简单还是按照流程:
不过有几点需要注意一下:
1、 application.conf配置:如果是连接服务端需要把zk和redis的ip换成服务器的,在本地或者本地测试需要换成本地ip(127.0.0.1)端口号基本上都是默认的zk(port:2128)redis(port:6379)
2、 在写接口时初始化创建PushSender时需要注意一点,最好让spring管理它创建与销毁
使用注解@postConstruct进行初始化,@PreDestroy进行销毁。这个坑下面这张图就是血的教训。
3、 application.conf配置文件中还有几个地方需要注意这里可以设置mpush的日志等级
mp.log-level=INFO(不设好像默认是INFO,但一旦是DEBUG模式的话心跳打印的日志非常恐怖)。还有一个点,服务端SDK是集成日志开发,所以要添加日志配置logback.xml(亲测)是可以,也可以使用log4j2.xml配置(这个没有试用过),如果不配置这些xml,mpush是不会生效。下图是我项目中使用到的一些配置,redis可以不使用集群配置,红框则是添加的logback.xml配置
4、 最后一点是msgId最好是用唯一值比如用uuid生成(记得去-号)
Ok,如果以上你都按步骤弄好了,那么开始骚起来吧~~~
注意看!!!!
resultCode有四种状态success成功,failure失败,offline不在线,timeout超时。即使运行没有错误,客户端也在线配置没配好也可能只报offline不在线状态。
演示一个正确能推送的栗子。把服务端ip和端口写上,userId设置好,开启websocket,绑定用户eriz(本栗子是wb演示)
当请求推送接口时日志会打印
这时的resultCode状态码变成了success,再观察客户端,这时候已经接受到了推送消息。
服务端SDK集成开发到这里已经完成了(有几张图时间对不上是我以前遇到的bug,直到开发完成能使用到才找出来的)。
-----------------------------------------------廉价鸡汤-------------------------------------------------------------------------
每个人都想遇到自己的白瑞德,但先活成了斯佳丽。《飘》