【Android开发】如何使用融云的消息扩展

协变苔藓
• 阅读 1088

【Android开发】如何使用融云的消息扩展

从 【4.0.3 】版本开始,融云新增了消息扩展功能,文档如下:
https://docs.rongcloud.cn/v4/...

总结文档中的几个重点:

  • 4.0.3之前的版本无法使用。
  • 消息扩展是 Message类的属性,也就是说自定义消息也可以使用。
  • 单条消息只能设置300个kv,(某些场景不可用,比如在群里发400个人可领的红包)。
  • 仅支持单聊、群聊。
  • key和value都是字符串类型,并且key不能是中文,否则会报错INVALID_PARAMETER。
  • 用IMKit的UI发送消息时需要拦截一下,设置消息扩展开关。

使用步骤:

  1. 消息的发送端必须给需要消息扩展的消息开开关,没有全局设置,只能单条消息设置。分以下两种情况:
  • 如果使用的是 IMKit 提供的UI发送消息,在 ConversationFragment中的 onSendToggleClick 方法发送消息,在 sendMessage 前调用下面的方法
    /**
     * 设置消息扩展信息列表
     * <p>扩展信息只支持单聊和群组,其它会话类型不能设置扩展信息。</p>
     *
     * @param expansion 消息扩展信息列表
     */
    public void setExpansion(HashMap<String, String> expansion) {
        this.expansion = expansion;
    }

还需要设置 canIncludeExpansion 和 expansionDic 。

  • 如果是自己调用 RongIM 和 RongIMClient 接口发的消息,用 MessageContent 类的对象构造一个 Message 对象,然后设置 canIncludeExpansion 和 expansionDic 再调用RCIM中对应的 send 方法将消息发送出去即可。
  1. 更新和删除扩展的操作可以参考官方文档。
  2. 想要实时捕获消息扩展的更改和删除,就需要设置回调,在回调中更新UI。设置回调可参考官方文档。

融云官网:https://www.rongcloud.cn/
文档频道:https://docs.rongcloud.cn/v4

点赞
收藏
评论区
推荐文章
程序员小五 程序员小五
2年前
私有云如何配置自签名证书?在 Android 9.0 及之后版本发生 SSL handshake timed out 异常怎么解决?
"描述(来源参考:https://www.rongcloud.cn/?utmsourceSEO&utmtermjishitongxun)本文档仅适用于私有云,且需要使用自签证书(自签名证书)绕过自签名配置的客户。Android9.0及之后版本,融云SDK开
程序员小五 程序员小五
2年前
单聊、群聊、聊天室、超级群在融云端历史消息存储时间分别是多长?
单聊历史消息与群聊历史消息在融云为同一项存储服务:单群聊历史消息云存储。需自行在开发者后台IM服务管理页面的普通服务标签下开通,开通后单聊、群聊历史消息默认存储6个月。
程序员小五 程序员小五
2年前
IM 应用场景中如何限制只有好友之间才能互发消息?
功能介绍好友关系由开发者的应用服务器自行维护好友关系,融云服务器提供消息发送能力,消息发送过程中默认不会做任何权限校验得到userId后即可发送消息,例如:A发送消息给B,只需要把B的userId传给融云服务即可发送消息这样易用的设计可以使开发者高度自由集
程序员小五 程序员小五
2年前
如何清理会话消息及清除 iOS IM SDK 缓存图片?
融云SDK中新增了deleteMessages方法,用于删除某个会话中的所有消息,同时会整理压缩数据库,减少占用空间,此方法不可频繁循环调用。方法如下:/!删除某个会话中的所有消息@paramconversationType会话类型,不支持聊天室@para
程序员小五 程序员小五
2年前
IM 应用场景中如何限制只有好友之间才能互发消息?
功能介绍好友关系由开发者的应用服务器自行维护好友关系,融云服务器提供消息发送能力,消息发送过程中默认不会做任何权限校验得到userId后即可发送消息,例如:A发送消息给B,只需要把B的userId传给融云服务即可发送消息这样易用的设计可以使开发者高度自由集
程序员小五 程序员小五
2年前
iOS 常见问题总结及解决方法
SDK如何初始化在您需要使用融云SDK功能的类中,import相关头文件。import如果是Swift的话,需要在您工程的BridgingHeader.h文件中加入SDK的引用import请使用您之前从融云开发者控制台注册得到的AppKey,通过RCIM的
程序员小五 程序员小五
1年前
融云IM干货丨如何查看IM服务日志?
要查看IM服务的消息日志,您可以通过以下步骤进行:开通服务:首先,确保您已经为当前使用的AppKey开通了消息日志服务。例如,融云提供了消息日志服务,您需要在融云开发者后台的“免费基础功能”页面开启该服务。使用服务端API获取日志:开通服务后,您可以使用服
程序员小五 程序员小五
1年前
融云IM干货丨如果用户不在线,推送通知会怎样处理?
如果用户不在线,融云的推送通知会按照以下方式处理:离线消息推送:当用户不在线时,融云会将收到的单聊消息、群聊消息、系统消息、超级群消息通过第三方推送厂商或融云自建的推送服务通知客户端。这意味着即使用户的应用没有运行,他们也能通过系统通知栏接收到消息提醒。服
程序员小五 程序员小五
1年前
融云IM干货丨在Electron中获取历史消息,可以通过以下几种方式实现
在Electron中获取历史消息,可以通过以下几种方式实现:使用融云服务获取历史消息:从远端获取单群聊历史消息,需要AppKey已启用融云提供的单群聊消息云端存储服务。可以通过RongIMLib.getHistoryMessages方法拉取指定会话的历史消
程序员小五 程序员小五
1年前
融云IM干货丨在Electron中实现获取历史消息,需要注意以下几点
在Electron中实现获取历史消息时,需要注意以下几点:服务开通:从远端获取单群聊历史消息需要AppKey已启用融云提供的单群聊消息云端存储服务。请在融云控制台IM服务管理页面为当前使用的AppKey开启服务。注意,仅IM旗舰版或IM尊享版可开通该服务。
程序员小五 程序员小五
1年前
融云 IM 干货丨如何开通单群聊云存储服务?
如何开通单群聊云存储服务融云平台1、登录融云控制台:访问融云开发者文档页面,登录融云控制台。2、进入IM服务管理页面:在控制台的左侧导航栏中,选择IM服务管理。3、开通单群聊消息云端存储服务:在IM服务管理页面,找到单群聊消息云端存储服务,点击开通按钮。该