前言
聊天室開發(fā)需要發(fā)送一些自定義的表情效果,這時(shí)候我們就要用到自定義消息。
發(fā)送自定義消息需要消息解析類 MsgAttachment 和解析器 MsgAttachmentParser
詳情可查看網(wǎng)易云信IM官方文檔
問題
由于兩個(gè)項(xiàng)目都需要聊天室功能,代碼遷移后,發(fā)現(xiàn)新項(xiàng)目中拉取歷史消息中的
attachment 總是為null ,自然無法判斷是哪種自定義消息了。
但是文本消息可以正常獲取到。
解決
通過斷點(diǎn),發(fā)現(xiàn) 新舊項(xiàng)目的差別在于 CustomAttachParser 新項(xiàng)目沒有走。
然后排查代碼發(fā)現(xiàn),代碼遷移的時(shí)候,忘記注冊 自定義消息解析器了。
// 自定義消息解析器
NIMClient.getService(MsgService::class.java).registerCustomAttachmentParser( CustomAttachParser())
代碼遷移,一定要慎重全面,否則排查起來更浪費(fèi)時(shí)間。謹(jǐn)記。