注册

关于消息发送过程中messageId变动的问题

情况描述,需要在发送消息时,在消息扩展属性中添加一个以messageId为键值的数据,供本地和消息接收方查询特定消息。出现问题描述:消息在异步发送时在属性字典中创建的以messageId为键值的数据,并发送给对方,但在发送过程中,messageId发生变化,变为系统指定的长格式,问题来了,接收方的messageId是变了,但属性字典的键值还是未变之前的,导致接收方根本查询不到,请教解决方案!
补充:1、在收到回执后确定messageId,但这个时候消息早已发出;
            2、问题核心,异步发出消息时,messageId还未变化(短格式id),要在这个时候给接收方指定唯一标示符,供特定消息查询,但这时的messageId不确定,纠结。
已邀请:
从2.1.6开始,messageId统一由服务器生成了。客户端这边,在发送的时候,会先往本地数据库里存,这时候SDK会生成一个localMessageId。然后消息发往服务器,服务器生成一个messageId返回给客户端,在didSendMessage回调里可以拿到服务器生成的。你们是什么需求,需要发送的时候把messageId传过去呢。
这个没有必要一定要用messageId这个属性吧,你可以在扩展里另外加一个字段进行标识,然后收到这个标识让他根据这个标识去做操作。

要回复问题请先登录注册