唠一唠融云的音讯扩大性能
在应用融云 SDK 的过程中,因为定制化水平过高,其中有一项业务的实现是须要实现“红包”性能,然而实现的流程比较复杂:
- 自定义红包音讯 MoneyMessage,而后 A 用户发送给 B 用户,B 用户在点击之后,同样发送一个自定义告诉音讯给 A , 用来批改 A 用户的界面。
上述流程看上去比较简单,然而实现起来就会比较复杂,并且并不灵便,于是跟融云技术反馈此问题之后,在从 4.0.3 版本开始反对单条音讯扩大信息设置性能,用 音讯扩大性能实现就会无比简略。
音讯扩大性能的实质是在 Message 类中增加了扩大性能;
/**
* 设置是否能够蕴含扩大信息
*
* @param canIncludeExpansion 是否能够蕴含扩大信息
*/
public void setCanIncludeExpansion(boolean canIncludeExpansion);
/**
* 音讯扩大信息列表
*
* @return 音讯扩大信息列表
*/
public Map<String, String> getExpansion();
/**
* 设置音讯扩大信息列表
* <p> 扩大信息只反对单聊和群组,其它会话类型不能设置扩大信息。</p>
*
* @param expansion 音讯扩大信息列表
*/
public void setExpansion(HashMap<String, String> expansion);
能够调用 RongIMClient.getInstance().updateMessageExpansion(); 来设置音讯扩大属性;
能够调用 RongIMClient.getInstance().removeMessageExpansion(); 来删除音讯扩大属性;
当然监听音讯属性能够设置:
RongIMClient.getInstance().setMessageExpansionListener(new RongIMClient.MessageExpansionListener() {
@Override
public void onMessageExpansionUpdate(Map<String, String> expansion, Message message) { }
@Override
public void onMessageExpansionRemove(List<String> keyArray, Message message) {}});
来实时监听音讯属性的变动,这样能够动静实现红包点击承受的性能,或者礼物场景的实现