Android 消息收发

处理用户消息的收发。消息发送由 MessageService 服务类提供,消息的接收由客户端实现 MessageListener 来被动接收。

获取 MessageService

UserAgentProxy proxy = UserAgentProxy.getInstance();
......
MessageService messageService = proxy.getMessageService();

注册 MessageListener

MessageListener 实现用于接收消息, MessageListener 接口说明

public class MessageService {
    /**
     * 设置消息接收的回调
     * @param listener 回调处理实现类
     */
     public synchronized void setMessageListener(MessageListener listener) {}
}

发送文本消息

发送给个人

public class MessageService {
    /**
     * 向个人发送文本消息
     * @param peerUserID 对方用户ID
     * @param content 消息内容
     * @param msg_uuid 消息uuid,客户端本地生成
     * @param bReSendFlag 重复发送标识
     * @return true 表示调用成功
     */
    public boolean sendTextMessageToUser(String peerUserID, String content, String msg_uuid, boolean bReSendFlag){}
}

发送给群组

public class MessageService {
    /**
     * 向群组发送文本消息
     * @param groupID 群组ID
     * @param content 消息内容
     * @param msg_uuid 消息uuid,客户端本地生成
     * @param bReSendFlag 重复发送标志
     * @param extraType 富文本消息标识
     * @return true 表示调用成功
     */
    public boolean sendTextMessageToGroup(String groupID, String content, String msg_uuid, boolean bReSendFlag, int extraType){}
}

图片、语音、视频消息的文件处理

露脸云提供了文件上传下载服务,详见 客户端 RSET 相关接口;也可以自己实现.

发送图片消息

发送给个人

public class MessageService {
    /**
     * 向个人发送图片url(发送图片需要先将图片上传,服务端返回url,再将url发送给对方)
     * @param peerUserID 对方用户ID
     * @param url 图片url
     * @param msg_uuid 消息uuid,客户端本地生成
     * @param bReSendFlag 重复发送标识
     * @return true 表示调用成功
     */
    public boolean sendImageUrlToUser(String peerUserID, String url, String msg_uuid, boolean bReSendFlag) {}
}

发送给群组

public class MessageService {
    /**
     * 向群组发送图片url
     * @param groupID 群组ID
     * @param url 图片url
     * @param msg_uuid 消息uuid,客户端本地生成
     * @param bReSendFlag 重复发送标识
     * @param extraType 富文本消息标识
     * @return true 表示调用成功
     */
    public boolean sendImageUrlToGroup(String peerUserID, String url, String msg_uuid, boolean bReSendFlag, int extraType) {}
}

发送音频消息

发送给个人

public class MessageService {
    /**
     * 向个人发送语音消息url(发送语音消息需要先将语音消息文件上传,服务端返回url,再将url发送给对方)
     * @param peerUserID 对用用户ID
     * @param url 语音文件url
     * @param msg_uuid 消息uuid,客户端本地生成
     * @param bReSendFlag 重复发送标识
     * @return true 表示调用成功
     */
    public boolean sendAudioMessageToUser(String peerUserID, String url, String msg_uuid, boolean bReSendFlag) {}
}

发送给群组

public class MessageService {
    /**
     * 向群组发送语音消息url (发送语音消息需要先将语音消息文件上传,服务端返回url,再将url发送给对方)
     * @param groupID 群组ID
     * @param url 语音文件url
     * @param msg_uuid 消息uuid,客户端本地生成
     * @param bReSendFlag 重复发送标识
     * @param extraType 富文本消息类型
     * @return true 表示调用成功
     */
    public boolean sendAudioMessageToGroup(String groupID, String url, String msg_uuid, boolean bReSendFlag, int extraType) {}
}

发送视频消息

发送给个人

public class MessageService {
    /**
     * 向个人发送视频消息url(发送视频消息需要先将语视频息文件上传,服务端返回url,再将url发送给对方)
     * @param peerUserID 对用用户ID
     * @param describe 短视频描述
     * @param shortUrl 缩略图url
     * @param videoUrl 视频文件url
     * @param msg_uuid 消息uuid,客户端本地生成
     * @param bReSendFlag 重复发送标识
     * @return true 表示调用成功
     */
    public boolean sendVideoMessageToUser(String peerUserID, String describe, String shortUrl, String videoUrl, String msg_uuid, boolean bReSendFlag) {}
}

发送给群组

public class MessageService {
    /**
     * 向群组发送视频消息url(发送视频消息需要先将语视频息文件上传,服务端返回url,再将url发送给对方)
     * @param groupID 群组ID
     * @param describe 短视频描述
     * @param shortUrl 缩略图url
     * @param videoUrl 视频文件url
     * @param msg_uuid 消息uuid,客户端本地生成
     * @param bReSendFlag 重复发送标识
     * @param extraType 富文本消息类型
     * @return true 表示调用成功
     */
    public boolean sendVideoMessageToGroup(String groupID, String describe, String shortUrl, String videoUrl, String msg_uuid, boolean bReSendFlag, int extraType) {}
}

回复消息已收到

public class MessageService {
    /**
     * 确认消息已收到
     * @param uuid 消息全局uuid
     * @return true 表示调用成功
     */
    public boolean messageReceived(long uuid) {}
}

回复消息已阅读

public class MessageService {
    /**
     * 确认消息已阅读
     * @param uuid 消息全局uuid
     * @return true 表示调用成功
     */
    public boolean messageRead(long uuid) {}
}

向个人发送透传消息

public class MessageService {
    /**
     * 向个人发送透传消息
     * @param peerUserID 对方用户ID
     * @param data 二进制内容
     * @param msg_uuid 消息uuid,客户端本地生成
     * @param bReSendFlag 重复发送标识
     * @return true 表示调用成功
     */
    public boolean sendForwardDataToUser(String peerUserID, byte[] data, String msg_uuid, boolean bReSendFlag) {}
}

通话中,向群组发送可靠透传透传消息

public class MessageService {
    /**
     * 通话中,向群组发送可靠透传透传消息
     * @param groupId 群组ID
     * @param data 二进制内容
     * @param msg_uuid 消息uuid,客户端本地生成
     * @param bReSendFlag 重复发送标识
     * @return true 表示调用成功
     */
    public boolean sendForwardDataToGroup(String groupId, byte[] data, String msg_uuid, boolean bReSendFlag) {}
}

通话中,向对方或者群组发送不可靠透传消息

public class MessageService {
    /**
     * 通话中,向对方或者群组发送不可靠透传消息
     * @param userId 对方或群组ID
     * @param data 二进制内容
     * @param msg_uuid 消息uuid,客户端本地生成
     * @param bReSendFlag 重复发送标识
     * @return true 表示调用成功
     */
    public boolean sendForwardDataInCall(String userId, byte[] data, String msg_uuid, boolean bReSendFlag) {}
}