推送的extra在哪里
野火IM为了方便大家进行二次开发,在很多地方都使用了extra字段,比如用户信息,群组信息和消息内容中都存在,这样客户就可以任意扩展自己的信息。但推送怎么来做自定义操作?
1. 客户需求
客户需要开发一个功能,当客户端收到推送后,点击推送通知,跳到应用内指定位置。
2. 需求分析
现在推送默认只推送内容,比如文本消息收到后只显示内容,点击推送只是打开了应用,没有跳转到对应会话。如果客户对接了某些系统,点击对应通知也是应该跳转到应用内对应模块的。因此客户的需求就是推送除了内容外,还要带一定的信息,客户端能够根据这些信息做对应的处理。
3. 解决办法
如果仅仅是需要跳转到对应的会话,仅需要在push server进行处理,push server收到im server的推送信息里包含有会话信息,可以把对应会话信息放到推送信息中,注意每家手机厂商推送差别很大,有的是透传,有的是标题栏,需要分别按照他们的文档进行处理。
如果是某一类消息内容需要打开某些界面,这个也好办,在push server收到im server的推送信息里包含有消息类型,同上把这个消息包含到推送信息里就可以了。
最后如果需要其它信息携带,就需要在对应消息的encode出填写pushData字段,该字段会从IM服务透传到推送服务,推送服务拿到这个字段后就可以做后续处理了。建议这个字段内容用json格式,保持以后的可扩展性。