当前位置: 首页 > news >正文

集成环信IM时常见问题及解决——包括消息、群组、推送

一、消息

  1. 环信是不支持空会话的,在插入一个会话,一定要给这个会话再插入一条消息;

  2. 发送透传消息也就是cmd消息时,value的em_开头的字段为环信内部消息字段,如果使用会出现收不到消息回调的情况;
    在这里插入图片描述

  3. 如果发送消息报500的错误,请检查下你的登录逻辑,大概率就是没有登录环信造成的;

  4. Android在发送图片消息时,默认超过100kb是会压缩图片的,如果对图片质量有要求的话,可以设置不压缩;

        // `imageUri` 为图片本地资源标志符,// `false` 为不发送原图(默认超过 100 KB 的图片会压缩后发给对方),// 若需要发送原图传 `true`,即设置 `original` 参数为 `true`。EMMessage message = EMMessage.createImageSendMessage(imageUri, false,  toChatUsername);// 发送消息EMClient.getInstance().chatManager().sendMessage(message);

在这里插入图片描述

  1. 如果项目里需要本地插入一些会话,需要注意环信id的大小写问题,需要以小写字母去创建会话id,否则会出现获取不到会话的情况;
    EMClient.getInstance().chatManager().getConversation(“xiaoxie”, EMConversation.EMConversationType.Chat,true);

二:群组

  1. 在群组的操作方法中有很多是同步的api,需要注意,同步的api需要放到子线程里,否则会报300;
    例如:createGroup创建群组,destroyGroup解散群组等;
    如果想避免此类问题,可以调用异步方法;

  2. 在发送群组消息时,需要设置message.setChatType(EMMessage.ChatType.GroupChat);否则会出现,发送消息对方收不到的情况;
    在这里插入图片描述

  3. 获取群组详情的时候,需要先从服务器获取,本地才会有数据;
    当获取不到数据时,需要先检查下,是否直接获取的本地;

     // 根据群组 ID 从本地获取群组详情。EMGroup group = EMClient.getInstance().groupManager().getGroup(groupId);// 根据群组 ID 从服务器获取群组详情。// 同步方法,会阻塞当前线程。异步方法为 asyncGetGroupFromServer(String,  EMValueCallBack)EMGroup group =EMClient.getInstance().groupManager().getGroupFromServer(groupId);
  1. 操作黑名单,成员禁言的api是有角色区分的,需要留意下;
    比如:将群成员拉入群组的黑名单,将用户移除出群黑名单,获取群组的黑名单用户列表,只有群主有权限操作;
    将群成员加入禁言列表中,将群成员移出禁言列表,获取群成员禁言列表,开启和关闭全员禁言,群主或者管理员有权限操作;
  2. 当群成员超过200人的时候,需要调用获取完整的群成员列表的方法;
    在这里插入图片描述

三:推送

  1. fcm推送配置了BOTH类型,如果没有收到离线推送,可以检查下通知栏权限,国内网络的话还需要开启应用后台启动,和自启动权限;如果这些权限都开启的,还是收不到推送的话,请联系环信技术支持;
    在这里插入图片描述

  2. oppo推送需要注意:
    在console后台上传秘钥的是master secret
    在APP中上传秘钥是app secret
    如果上传错误的话,会造成推送收不到;
    在这里插入图片描述
    在这里插入图片描述

相关文档:

注册环信:https://console.easemob.com/user/register

集成文档:https://docs-im-beta.easemob.com/document/ios/quickstart.html

社区支持:https://www.imgeek.net/

http://www.lryc.cn/news/234555.html

相关文章:

  • Selenium自动化测试框架
  • C#实现观察者模式
  • 什么是持续部署
  • 【Python】Loguru模块更简洁的日志记录库
  • 智慧环保:科技驱动下的环境保护新篇章
  • CTF-PWN环境搭建手册
  • Nginx安装配置与SSL证书安装部署
  • 高性能面试八股文之编译流程程序调度
  • opencv的MinGW-W64编译
  • 在Go编程中调用外部命令的几种场景
  • python学习:break用法详解
  • 【算法萌新闯力扣】:找到所有数组中消失对数字
  • Node.js 安装配置
  • 前端JS 使用input完成文件上传操作,并对文件进行类型转换
  • 探索AI交互:Python与ChatGPT的完美结合!
  • CI/CD - jenkins
  • 【【萌新的SOC学习之 VDMA 彩条显示实验之一】】
  • 相机通用类之海康相机,软触发硬触发(飞拍),并输出halcon格式对象
  • linux时间调整
  • C++模版初阶
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • Go 语言结构体验证详解:validate 标签与自定义规则
  • ​软考-高级-系统架构设计师教程(清华第2版)【第19章 大数据架构设计理论与实践 (P691~716)-思维导图】​
  • 深度学习YOLOv5车辆颜色识别检测 - python opencv 计算机竞赛
  • c语言-浅谈指针(3)
  • 从服务器端获取人脸数据,在本地检测特征,并将特征发送给服务器
  • ARDUINO UNO 12颗LED超酷流水灯效果
  • Linux下查看pytorch运行时真正调用的cuda版本
  • ​分享mfc140u.dll丢失的解决方法,针对原因解决mfc140u.dll丢失的问题
  • torch_cluster、torch_scatter、torch_sparse三个包的安装