推送服务器,可以对接所有的系统厂商推送服务或者第三方推送服务。
heavyrian2012 6cc3c15bb7 支持APNS p8证书 | 4 days ago | |
---|---|---|
.github | 2 years ago | |
apns | 4 days ago | |
config | 4 days ago | |
fcm | 3 years ago | |
src | 4 days ago | |
.gitignore | 3 years ago | |
LICENSE | 5 years ago | |
README.md | 2 years ago | |
mvnw | 6 years ago | |
mvnw.cmd | 6 years ago | |
pom.xml | 8 months ago | |
push.md | 2 years ago |
作为野火IM的推送服务的演示,支持小米、华为、魅族、OPPO、Vivo、苹果apns和谷歌FCM。并且可以添加更多的推送厂商和自定义推送模式。
推送功能对于所有IM来说都是非常重要的功能,然而手机系统又没有统一的推送服务,对接起来难度很大。另外一方面客户有不同对接需求,有的要求使用第三方,有的要求使用厂商推送,有的需要在海外添加谷歌推送,有的对推送的格式有不同的要求。
为了满足各种各样的需求,提供足够好的灵活性,野火IM把推送子系统独立出来,客户只要理解了推送子系统运行的原理,就能做好各种自定义处理。
如果架构图无法查看,可以点击这里查看
图中紫色部分为推送子系统,推送子系统的所有源码都是开源的,且可以随意修改。推送子系统的工作流程如下:
一般情况下有2种推送,一种是本地通知,另外一种是远程推送。
本地通知和远程推送在手机上的表现很接近,都是应用放到后台,然后有人给此账号发送消息,通知栏弹出通知。实际上处理流程完全不同。本项目处理的是远程推送。在处理通知问题时,首先要确认的是本地通知还是远程推送。
接入推送并不是简单得将推送服务跑起来即可,请详细阅读接入推送流程
由前面的介绍可以看出,推送子服务是独立于IM服务,而且客户端和服务器部分都是开源的,而且考虑到了扩展性,可以很容易地添加其它推送类型。具体步骤如下:
UNDER MIT LICENSE. 详情见LICENSE文件