集成融云即时通讯碰到的一些问题

前言

公司产品需要新增即时通讯的模块,经过调研后使用融云的即时通讯 SDK 由于以前没有做过相关聊天类的项目,在开发的时候碰到了很多坑,下面会将碰到的问题和解决方案记录下来以做备份和学习交流

融云官网:https://www.rongcloud.cn/
开发文档:https://docs.rongcloud.cn/v4/

问题列表

1、如何获取历史消息

解决方案:
因为 Web 端没有本地存储,不提供本地获取方法,只能从远端获取
使用获取历史消息方法需要在开发者后台开启 IM 商用版 - 单群聊云存储  服务,服务开通后 30 分钟左右生效
每次最多只能获取 20 条历史消息,通过改变参数 timestrap 来获取其他时间段的历史消息

2、删除会话后还有会话

解决方案:
1、删除会话. 正常来说只要没有收发消息, 会话就不会再生成了
2、如果您有清除 localStorage 的操作, 则 SDK 内部会重新拉取离线消息. 而会话列表是根据收发消息生成的. 则会再次产生会话. 所以建议您检查下是否有清除 localStorage 的操作. 如果有, 建议您只清除自己业务相关的 key
3、如果您换端登录, 则会再次收离线消息, 如果希望此时依然不显示删除的消息. 可以在您删除消息后发一条自定义消息
​比如:
(1). 删除会话 A
(2). 发送自定义消息, 标识删除了会话 A
(3). 换端登录, 重复收之前已收到过的消息
(4). 收消息时收到了步骤 (2) 中发送的删除标识消息, 根据此自定义消息, 再次调用删除会话方法删除会话

3、怎样才能获取到加入群组之前的聊天记录

解决方案:
加入群组,融云默认是获取不到之前的历史消息,如果想获取到之前的历史消息,需要在开发者后台 – 免费基础功能 中开通 “新用户获取加入群组前历史消息” 服务,服务开通后 30 分钟左右生效

4、消息中的接收方和发送方 ID 为什么是相同的

解决方案:
如果在接收方来查看消息的话,接收方 id 和 发送方 id 是相同的。
消息体中 targetId 表示会话 id (接收方),senderUserId 表示发送方 id ,messageDirection 表示消息方向,发送: 1,接收: 2
如果 A 给 B 发送一条消息,那么在 B 的角度看的话 targetId 为 A,senderUserId 也是 A,只是 messageDirection 为 2 表示接收
在 A 的角度看的话, targetId 为 B,senderUserId 是 A,只是 messageDirection 为 1 表示发送

5、删除历史消息时,参数与文档描述一致,但是结果却返回 33007 表示:未开通历史消息服务,但是开发者后台早已经开通了

解决方案:
因传入了比融云服务器时间还要大的时间, 所以服务返回了此错误码. 如果要保证删除成功, 建议传入会话最后一条消息的 sentTime (发送时间)

6、接收 emoji 显示不出来

解决方案:
1、Web SDK 接收消息后,消息体内的原生 Emoji 字符会被解码为对应 Unicode 码,需调用转化方法才能正确显示
2、不同浏览器, 不同设备, 展示的原生 Emoji 表情都不同
3、如需多端展示 Emoji 一致, 需使用 emojiToHTML 转化为 HTML 后再展示(此方法为以图片形式展示)
4、emojiToHTML 和 symbolToHTML 仅支持默认的 128 个 emoji. 展示更多, 需自行扩展
详情参考:https://docs.rongcloud.cn/v4/views/im/noui/guide/private/msgmanage/msgsend/web.html#emoji

暂时先记录这些,后续还有的话会继续添加进去,也欢迎大家进行补充,一起学习一下,笔芯 ♥️ ♥️ ♥️ !!!

集成融云即时通讯碰到的一些问题相关推荐

  1. 项目中集成融云即时通讯

    http://blog.csdn.net/qq_28759359/article/details/52689948 项目中集成融云IM,能够单聊,离线能够收到消息,有聊天列表. 一我使用的是融云. I ...

  2. iOS集成融云即时通讯详细教程

    相关集成方法也可以直接参考官方文档http://www.rongcloud.cn/docs/ios.html.下面是我集成过程中的一些详细步骤. 1.准备工作:到官网http://www.rongcl ...

  3. 融云即时通讯SDK集成 – 定制UI(二) ——添加自定义表情库

    融云即时通讯SDK集成 – 定制UI(二) --添加自定义表情库 背景: 最近公司新上的app要加上即时通讯的功能, 自己快速实现一个当然是不可能的了(项目deadline也顶不住哇).就从各家成熟的 ...

  4. iOS开发融云即时通讯集成详细步骤

    1.融云即时通讯iOS SDK下载地址   http://rongcloud.cn/downloads  选择iOS   SDK下载 2.进行应用开发之前,需要先在融云开发者平台创建应用,如果您已经注 ...

  5. 融云即时通讯云平台获北京六局委新技术新产品认证

    近日,融云即时通讯云平台成功入选第七批北京市新技术新产品(服务)认证,成为本批次中即时通讯行业唯一入选企业.该证书是由北京市科学技术委员会.北京市发展改革委员会.北京市经济和信息化委员会.北京市住房和 ...

  6. 记录一下融云即时通讯IM

    通过apicloud开发app,集成融云的sdk开发IM聊天系统 1初始化融云,显示聊天列表 var rong var header_h = 50 var footer_h = 45 var toUs ...

  7. 融云即时通讯之直播聊天室

    前言 做直播当然少不了聊天功能,融云直播聊天室支持消息类型包括文字.语音.图片.点赞.礼物.弹幕等,也支持通过自定义消息实现自已的业务逻辑:支持聊天室用户管理功能,包括创建.加入.销毁.禁言.查询.封 ...

  8. iOS:融云即时通讯快速集成

    一.介绍 即时通讯在众多社交软件.生活软件以及教育软件中已经是必备的功能了,在当前国内,即时通讯SDK做的比较不错的有那么几家,例如环信SDK.融云SDK...,这两家做的都很不错,各有千秋吧,要是真 ...

  9. 融云即时通讯SDK集成 -- 定制UI(二) ——添加自定义表情库

    背景: 最近公司新上的app要加上即时通讯的功能, 自己快速实现一个当然是不可能的了(项目deadline也顶不住哇).就从各家成熟的SDK厂商选来选去的, 各有各的好也各有各的不足.最后点兵点将,选 ...

  10. 融云聊天 php_thinkphp整合系列之融云即时通讯在线聊天

    随着技术的发展:现代的网站:越来越趋于应用形式了: 不再是像以前那样需要用户刷新页面:获取数据了: 服务器端可以主动向用户推送数据:更加及时性了: 比较突出的就是即时通讯在线聊天: 今个:我们要打造的 ...

最新文章

  1. BYOD安全保护的“原生态”方法
  2. 浅析网站设计的基本秘诀
  3. 剑指Offer(书):链表的倒数第K个节点
  4. 你们肯定都不相信每天能准时下班了
  5. xstream 数字映射不上去_6个做端口映射的步骤,外网访问内网,菜鸟也能做?
  6. java.sql.SQLException: connection disabled
  7. Java Thread类的静态布尔型interrupted()方法(带示例)
  8. Git笔记(16) 变基
  9. html5 对比 HTML4 新增,HTML5对比HTML4的主要改变和改进总结
  10. TCP和UDP服务器性能测试工具
  11. 12 个顶级 Bug 跟踪工具
  12. (教程)手把手教你如何申请软件著作权
  13. 关于VS输出[ INFO:0] global C:\build\master_winpack-build-win64-vc15\opencv\modules\videoio\src\....
  14. Android 打开URL
  15. PBOOT网站后太登录显示验证码错误的解决经验分享
  16. js 字符串 转换 html标签,js 字符串转html标签
  17. 【读书笔记】计算机是怎样跑起来的 - 读书笔记(2)
  18. linux/init.h 中__init
  19. 欧姆龙NJ总线通信报错雷塞步进组态
  20. IT职场老油条亲传:教你如何在公司汇报工作时表现更亮眼

热门文章

  1. android11 tts,Android 11 使用 TextToSpeech 实现文字转换语音 相关 bug:speak failed: not bound to TTS engine...
  2. 静默安装android,Android静默安装
  3. Stuck Stack成过去时,OpenStack升级还可以这样玩?!
  4. 常用的MATLAB建模工具箱
  5. st7789 旋转_有没有人调过 ST7789V驱动的显示屏啊
  6. 打印服务器后台程序没有运行,打印后台程序服务没有运行
  7. 在Ubuntu上安装D-link DWA-131驱动
  8. linux定时器原理
  9. SanDisk cz48 16G TLC U盘量产经验分享
  10. python输入城市找省份_利用字典模拟省市区(县)的查询