私信消息集成
首先集成私信功能需要先 初始化SDK 。
私信消息主要用于收发私信,SDK 支持的私信消息类型有如下:
- 文本类消息
- 图片类消息
- 音频类消息
- 视频类消息
构建消息对象
使用正确的方法构建对象发送消息可加速消息的处理。
例如发送文本消息使用 buildTextPrivateMessage
方法构建消息对象,发送图片则使用 buildImagePrivateMessage
构建,音频消息和视频消息同理。
文本类消息
如果消息中只包含普通的文本字符串请使用该方法,如果失败返回 null
。
IMMsg msg = IMMsg.buildTextPrivateMessage(String targetId, String msgType, String content, String pushTitle,
String pushContent, String extend3, byte[] extend4,
String targetAppID, String targetAppUID);
图片类消息
如果消息中包含图片链接地址请使用该方法,构建失败返回 null
。
IMMsg msg = IMMsg.buildImagePrivateMessage(String targetId, String msgType, String content, String pushTitle,
String pushContent, String extend3, byte[] extend4,
String targetAppID, String targetAppUID));
音频消息
如果消息为音频消息请使用该方法,音频消息的语音数据传给 extend4
参数。构建失败返回 null
。
IMMsg msg = IMMsg.buildAudioPrivateMessage(String targetId, String msgType, String content, String pushTitle,
String pushContent, String extend3, byte[] extend4,
String targetAppID, String targetAppUID));
视频消息
如果消息中包含视频链接,需要访问加载视频,请使用该方法构建消息,构建失败返回 null
。
IMMsg msg = IMMsg.buildVideoPrivateMessage(String targetId, String msgType, String content, String pushTitle,
String pushContent, String extend3, byte[] extend4,
String targetAppID, String targetAppUID);
参数说明:
targetId
- 消息接收用户ID。
msgType
- 消息类型,提供给您使用的消息扩展类型字段,您可以使用这个字段自定义消息类型。可传任意字符串,但不能传空串或null。
msgContent
- 消息内容。
pushTitle
- 推送通知标题(如果用户离线,消息会以推送通知的形式发送)。
pushContent
- 推送通知内容。
extend3
- 扩展,暂未使用。
extend4
- 语音数据,仅语音类消息有用,其它媒体类型消息请传null。
targetAppID
- 跨应用发消息时应用appId,跨应用发消息是指在LinkV开发者后台创建的两个不同appId的应用可以实现互发消息。非跨应用消息请传null。
targetAppUID
- 跨应用发消息的用户ID,非跨应用消息请传null。
发送消息
代码示例
LVIMSDK.sharedInstance().sendMessage(IMMsg msg, Object context, IMBridger.IMSendMessageListener listener);
IMBridger.IMSendMessageListener sendMessageListener = new IMBridger.IMSendMessageListener() {
@Override
public void onIMSendMessageCallback(int ecode, String tid, final IMMsg msg, Object context) {
if (ecode == 0) {
Log.d("TAG","发送消息成功");
}
}
};
详细说明
- sendMessage
参数说明:
msg
- 步骤1构建的消息对象。
context
- 自定义Object对象,此传参会赋值给listener回调方法onIMSendMessageCallback的context参数返回。
listener
- 发送消息的回调监听。
- onIMSendMessageCallback
结果回调
发送私信消息待服务器响应后 SDK
会回调 IMBridger.IMSendMessageListener
类对象的 onIMSendMessageCallback
方法。
void onIMSendMessageCallback(int ecode, String tid,IMMsg msg, Object context);
参数说明:
ecode
- 错误码,如果为0则代表发送消息成功,非0为失败。详见 错误码
tid
- 消息接收者ID。
msg
- 发送的消息对象。
context
- 发消息接口传入的Object类型参数。
接收消息
私信消息的接收是在全局消息接收监听中,详见 设置接收消息监听