推送服务器,可以对接所有的系统厂商推送服务或者第三方推送服务。
|
4 jaren geleden | |
---|---|---|
apns | 5 jaren geleden | |
config | 5 jaren geleden | |
src | 4 jaren geleden | |
.gitignore | 5 jaren geleden | |
LICENSE | 6 jaren geleden | |
README.md | 4 jaren geleden | |
mvnw | 6 jaren geleden | |
mvnw.cmd | 6 jaren geleden | |
pom.xml | 5 jaren geleden | |
push.iml | 5 jaren geleden | |
push.log | 5 jaren geleden |
作为野火IM的推送服务的演示,支持小米、华为、魅族和苹果apns。并且可以添加更多的推送厂商和自定义推送模式。
推送功能对于所有IM来说都是非常重要的功能,然而android系统又没有统一的推送服务,对接起来难度很大。另外一方面客户有不同对接需求,有的要求使用第三方,有的要求使用厂商推送,有的需要在海外添加谷歌推送,有的对推送的格式有不同的要求。
为了满足各种各样的需求,提供足够好的灵活性,野火IM把推送子系统独立出来,客户只要理解了推送子系统运行的原理,就能做好各种自定义处理。
图中紫色部分为推送子系统,推送子系统的所有源码都是开源的,且可以随意修改。推送子系统的工作流程如下:
mvn package
客户需要自行去厂商申请推送服务并替换配置文件中的各项参数。我们提供的默认参数是服务工作的,需要替换。不排除推送厂商sdk接口有变化,需要自行调试,如果发现我们demo有问题,欢迎给我们提PR。
本演示服务有5个配置文件在工程的config
目录下,分别是application.properties
, apns.properties
, meizu.properties
, hms.properties
和xiaomi.properties
。
分别配置服务的端口和相关推送的配置。
请正确配置放到jar包所在的目录下的config
目录下。
在target
目录找到push-XXXX.jar
,把jar包和放置配置文件的config
目录放到一起,然后执行下面命令:
java -jar push-XXXXX.jar
修改IM服务的配置文件wildfirechat.conf
,指向推送服务器的地址,修改完后需要重启
#*********************************************************************
# Push server configuration
#*********************************************************************
##安卓推送服务器地址
push.android.server.address http://localhost:8085/android/push
##苹果推送服务器地址
push.ios.server.address http://localhost:8085/ios/push
如果遇到问题请按照以下步骤排查:
Android推送服务有透传推送和通知栏推送两种推送方式,各个厂商的支持程度各异,一般情况下透传推送客户体验更好,但需要开通额外的权限比如自启动和后台等,需要用户进行设置;通知栏推送更简单,只弹出通知栏不拉起应用,但在音视频来电处理上赶不上透传,好处是不需要用户手动设置。我们提供的demo中使用的方式并不一定是最适合您的,还需要您根据实际情况来调整使用透传或通知栏。
UNDER MIT LICENSE. 详情见LICENSE文件