SDKsAndroid
发送第一条消息
在 Android 应用中发送并验证第一条单聊文本消息。
通过发送一条单聊文本消息,可快速验证 OpenIM Android SDK 的初始化、长连接建立与消息收发链路是否正常。开始前,请先按认证与管理登录会话完成 SDK 初始化与用户登录。
开始前准备
- 为发送方和接收方各准备一个测试账号。
- 两个账号都需要按认证与管理登录会话完成 SDK 初始化;接收方需要在登录前设置应用统一的消息 listener。
- 将示例中的
user_b替换为接收方的真实userID。
第 1 步:让接收方监听新消息
接收方应在登录前设置应用唯一的消息 listener,并在 onRecvNewMessage(Message message) 到达后更新聊天界面。完整的 listener 设置、事件数据和分发方式见接收消息,不要在快速开始页面或具体聊天页面重复设置。
第 2 步:确认可以发送
两个账号登录后,发送方的登录回调成功且长连接就绪回调(OnConnListener.onConnectSuccess)已到达,即可发送消息。接收方也应保持连接,以便收到新消息。连接尚未成功时,先等待连接恢复,不要重复发起登录请求。
第 3 步:发送文本消息
发送单聊文本消息
先创建消息,再发送它。第三个目标参数填写接收方 userID,群组目标参数保持空字符串。
Message message = OpenIMClient.getInstance()
.messageManager
.createTextMessage("你好,OpenIM");
OnMsgSendCallback sendCallback = new OnMsgSendCallback() {
@Override
public void onProgress(long progress) {
// 文本消息通常不需要处理进度。
}
@Override
public void onError(int code, String error) {
// 提示发送失败,并允许用户重试。
}
@Override
public void onSuccess(Message sentMessage) {
// 将 sentMessage 更新到发送方的聊天界面。
}
};
OpenIMClient.getInstance().messageManager.sendMessage(
sendCallback,
message,
"user_b",
"",
new OfflinePushInfo()
);OfflinePushInfo 用于配置离线推送内容。首次验证时可以传入空对象,后续再按产品需要设置标题、摘要和扩展数据。
发送回调中的成功通知触发表明发送端已成功投递消息;接收端的新消息事件回调触发则表明对端已顺利收到新消息。当两端的回调都按预期触发且内容一致时,即说明消息链路验证完成。
发送群聊文本消息
发送群消息时,将接收方 userID 改为空字符串,并填写群组的 groupID:
Message groupMessage = OpenIMClient.getInstance()
.messageManager
.createTextMessage("大家好,OpenIM");
OpenIMClient.getInstance().messageManager.sendMessage(
sendCallback,
groupMessage,
"",
"group_123",
new OfflinePushInfo()
);一次调用只能填写 userID 或 groupID 其中之一。
验证成功
- 发送方调用发送消息接口后收到成功回调通知。
- 接收方收到新消息监听事件,并看到文本消息内容。
下一步
这个页面有帮助吗?