Update README.md

This commit is contained in:
heavyrain.lee
2020-10-22 09:35:34 +08:00
committed by GitHub
parent 1b702ecef8
commit c3666f5dfe

View File

@@ -12,16 +12,17 @@
1. 应用启动后推送SDK初始化判断采用那种推送服务比如华为手机就用华为推送小米手机就用小米推送或者全部或部分使用第三方推送。如果客户要加谷歌推送也是在这里添加。选定好推送厂商后就初始化对应推送厂商的SDK注册成功后会得到推送token调用IM SDK的setDeviceToken传入推送token和类型。注意类型是可以扩展的而且对IM系统没有任何影响的。
2. SDK被调用setDeviceToken后会把推送token和类型传入到IM服务IM服务为对应手机保存下来以备后用。事实上IM服务不需要理解token和type的含义只需要透传给推送服务即可。
3. IM服务处理消息时发现用户不在线或者下发消息失败则会启动是否要推送的决策比如消息是否需要推送预制消息已经支持自定义消息需要传入push content用户是否全局静音会话是否被静音客户有多少天没有登录超过7天没登录就不推送。达到推送条件后跟把所有推送需要的内容打包发给推送服务。
4. 推送服务接收到IM服务的请求把推送数据放到消费队列中并立即返回IM服务不能被阻塞然后逐步处理推送事件。每个推送事件中都包含了所有需要处理的数据其中包括1步骤中的推送Token和类型然后根据类型来调用对用推送厂商的服务比如华为/小米/苹果/第三方厂商/谷歌。
4. 推送服务接收到IM服务的请求把推送数据放到消费队列中并立即返回IM服务不能被阻塞然后逐步处理推送事件。每个推送事件中都包含了所有需要处理的数据其中包括1步骤中的推送Token和类型然后根据类型来调用对用推送厂商的服务比如华为/小米/苹果/第三方厂商/谷歌调用他们的SDK进行推送
#### 申请推送服务
客户需要自行去厂商申请推送服务并替换配置文件中的各项参数。我们提供的默认参数是服务工作的需要替换。不排除推送厂商sdk接口有变化需要自行调试如果发现我们demo有问题欢迎给我们提PR。
#### 编译
```
mvn package
```
#### 申请推送服务
客户需要自行去厂商申请推送服务并替换配置文件中的各项参数。我们提供的默认参数是服务工作的需要替换。不排除推送厂商sdk接口有变化需要自行调试如果发现我们demo有问题欢迎给我们提PR。
#### 修改配置
本演示服务有5个配置文件在工程的```config```目录下,分别是```application.properties```, ```apns.properties```, ```meizu.properties```, ```hms.properties```和```xiaomi.properties``` 。
分别配置服务的端口和相关推送的配置。