安卓端QuickBlox如何更新chatMessage的自定义扩展属性
安卓端QuickBlox更新消息自定义属性实现方案
QuickBlox 提供的 QBMessageUpdateBuilder 已内置自定义属性更新能力,无需调用非公开API,可按以下方式实现:
完整实现代码如下:
QBMessageUpdateBuilder messageUpdateBuilder = new QBMessageUpdateBuilder(); // 可按需保留原有文本更新、状态标记逻辑 messageUpdateBuilder.updateText("更新后的消息文本"); // 传入自定义属性的键和要更新的新值即可 messageUpdateBuilder.setCustomParam("myproperty", "你需要更新的新属性值"); // 若要更新多个自定义属性,重复调用setCustomParam传入不同键值对即可 // messageUpdateBuilder.setCustomParam("another_property", "其他新值"); QBRestChatService.updateMessage(message.getId(), message.getDialogId(), messageUpdateBuilder).performAsync(new QBEntityCallback<Void>() { @Override public void onSuccess(Void aVoid, Bundle bundle) { // 更新成功,建议同步更新本地缓存中对应消息的自定义属性值 } @Override public void onError(QBResponseException e) { // 按业务逻辑处理错误 } });
- 注意事项:
- 自定义属性的键不能使用
qb_作为前缀,这类前缀是QuickBlox预留字段,会被服务端过滤导致更新失效 - 消息更新成功后服务端不会主动推送更新后的消息到当前操作设备,需要你手动更新本地存储的对应消息数据
- 如果你使用的是2.6.0以下的旧版本SDK,
setCustomParam方法未开放,建议升级到最新稳定版SDK后再使用该方案
- 自定义属性的键不能使用
内容的提问来源于stack exchange,提问作者Patrice Andala
相关产品推荐
相关产品推荐

