• 集成环信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
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    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/

  • 相关阅读:
    git下载及基础
    Vue3打包后页面空白解决办法
    网页锚点功能实现<a>标签和scrollIntoView()方法
    gRPC简介
    envs.yaml与requirements.txt
    Spring IOC和AOP
    harbor安装
    这些13 种锁的实现方式你知道吗
    SpringCloud-NacosFoundation
    filebeat实现实时采集日志
  • 原文地址:https://blog.csdn.net/huan132456765/article/details/134466595