技术:Laravel + JS + Android +棘轮+ FCM推送通知+ PWA
1。第一种方法(API)
用户从get API获取所有消息,然后以post API发送消息
问题:用户必须刷新页面以检查新消息
解决方案:Web套接字
2。第二种方法(API + WebSocket)
我们第一次从API获取所有历史记录并使用套接字发送消息并使用post API保存它们,现在聊天会根据Web套接字的消息事件自动更新
问题1(可以忽略):Web套接字在具有wss的安全服务器上运行,而低于4.4版的android客户端未连接到wss(我们必须接受所有危险的SSL)。
问题2(重要):PWA或android上的chrome和firefox等浏览器未连接到Web套接字。
3。现在FCM进行救援
解决方案:在每个平台上工作
问题:第三方(不是实时的)在中国,巴基斯坦,伊朗等国家(禁止Google使用)中不起作用。而且我不得不离开使用网络套接字的想法(这是我们的首次尝试)。