Ver código fonte

update readme

imndx 2 anos atrás
pai
commit
2ff6a4c82a
1 arquivos alterados com 22 adições e 22 exclusões
  1. 22 22
      push.md

+ 22 - 22
push.md

@@ -38,10 +38,9 @@ Android端,推送相关的代码,都在```push module``` 下面,入口是`
 3. FCM推送需要替换```push/google-services.json```文件,该文件是 FCM 推送后台生成的
 4. 如果一切正常,启动 App 之后,会打印下面这一行日志,**如果没有打印该日志,则说明配置错误,请查看日志,或者在```PushService```打断点调试**:
 
-  ```
-  Log.d(TAG, "setDeviceToken" + token + " " + pushType);// 这是打印日志的代码!!
-  ```
-
+      ```
+      Log.d(TAG, "setDeviceToken" + token + " " + pushType);// 这是打印日志的代码!!
+      ```
 5. 如果不需要某些推送类型,可以将其从```push module```删除,保留也不影响
 6. 如果需要使用个推,请看```getui```分支
 
@@ -99,26 +98,27 @@ push.ios.server.address http://localhost:8085/ios/push
 如果遇到问题请按照以下步骤排查:
 1. 请确保上面所有步骤都正确完成之后,再开始问题排查
 2. 确保程序是非启动状态,如果退回到桌面,应用还是激活的还会继续收消息,此时就不会走推送服务。应用在后台激活状态时应该走本地通知。
-3. 确认客户端推送SDK是否正确的获取到token,是否调用了setDeviceToken,token和type是多少?
-4. 确认消息是否是自定义消息,如果是自定义消息,push content是否带上有内容?自定义消息只有push content不为空才会推送。
-5. 确认目标客户端是否7日之内登录过,超过7天是不推送的。
-6. 确认目标客户是否设置了全局静音或会话静音。
-7. 如果有pc和web端登陆,确认是否设定了pc在线时手机静音。
-8. 查看```IM-Server```日志,看是否有推送相关日志输出
+3. 确认客户端推送SDK是否正确的获取到token,是否调用了```setDeviceToken```,```token```和```type```是多少?
+4. 上一步成功之后,```IM-Server```数据库的```t_user_session```表的```_token```和```_push_type```字段会被填上上一步设置的值。
+5. 确认消息是否是自定义消息,如果是自定义消息,push content是否带上有内容?自定义消息只有push content不为空才会推送。
+6. 确认目标客户端是否7日之内登录过,超过7天是不推送的。
+7. 确认目标客户是否设置了全局静音或会话静音。
+8. 如果有pc和web端登陆,确认是否设定了pc在线时手机静音。
+9. 查看```IM-Server```日志,看是否有推送相关日志输出
     ```
     LOG.info("Send push to {}, message from {}", deviceId, sender); // 这是打印日志的代码!!
     ```
-9. 确认推送服务是否收到了推送信息,如果收到,token和type是否和步骤1一致,推送内容是否和2一致?
-    ```
-    // 目标用户是 Android
-    LOG.info("Android push {}", new Gson().toJson(pushMessage)); // 这是打印日志的代码
-    // 目标用户是 iOS
-    LOG.info("iOS push {}", new Gson().toJson(pushMessage)); // 这是打印日志的代码
-    ```
-10. 推送服务收到IM请求的推送信息,调用厂商SDK进行推送,检查代码确认是透传方式还是通知栏方式。
-11. 如果推送服务使用的是通知栏方式,后面的工作就全是推送厂商的工作了,请按照推送厂商的官方文档进行调试。
-12. 如果推送服务使用的是透传方式,请确认客户端对应推送SDK是否收到透传消息,如果没有收到透传消息,则问题出在推送通道上,请按照推送厂商的官方文档进行调试。
-13. 如果推送服务使用的是透传方式,确认对应推送SDK收到了透传消息,请检查应用激活后是否初始化IM SDK并调用connect方法,及连接状态是否连接成功,是否收到新消息,是否弹出本地通知。
+10. 确认推送服务是否收到了推送信息,如果收到,token和type是否和步骤1一致,推送内容是否和2一致?
+     ```
+     // 目标用户是 Android
+     LOG.info("Android push {}", new Gson().toJson(pushMessage)); // 这是打印日志的代码
+     // 目标用户是 iOS
+     LOG.info("iOS push {}", new Gson().toJson(pushMessage)); // 这是打印日志的代码
+     ```
+11. 推送服务收到IM请求的推送信息,调用厂商SDK进行推送,检查代码确认是透传方式还是通知栏方式。
+12. 如果推送服务使用的是通知栏方式,后面的工作就全是推送厂商的工作了,请按照推送厂商的官方文档进行调试。
+13. 如果推送服务使用的是透传方式,请确认客户端对应推送SDK是否收到透传消息,如果没有收到透传消息,则问题出在推送通道上,请按照推送厂商的官方文档进行调试。
+14. 如果推送服务使用的是透传方式,确认对应推送SDK收到了透传消息,请检查应用激活后是否初始化IM SDK并调用connect方法,及连接状态是否连接成功,是否收到新消息,是否弹出本地通知。
 
 ### 技术支持
 按照文档一般情况下都能成功处理推送功能。实际上推送的功能并不复杂,只是涉及到太多的环节,每个环节又是由不同的研发或者公司来负责。请一定要理解整个推送的过程,知道推送过程中每一环节的功能,每个环节由谁来负责或者检查,只有真正的理解了推送的完整流程,才能找到对应的人来处理,才有可能高效地处理推送问题。
@@ -129,4 +129,4 @@ push.ios.server.address http://localhost:8085/ios/push
 3. 你认为那个环节出了问题,并给出证据。因为我们没有服务和客户端的任何信息,所以请务必给出全面详细的信息。
 4. 上面问题排查中每一步的结果。
 
-只有了解推送的流程和每个环节的功能才能高效地沟通,所以只有写清楚上面四条信息我们才能够提供技术支持。
+**只有了解推送的流程和每个环节的功能才能高效地沟通,所以只有写清楚上面四条信息我们才能够提供技术支持。**