提交工单
咨询集成、功能及报价等问题
ZIM SDK 支持向单聊、群组和房间会话插入本地消息,插入的消息只会存在于设备本地,不会发送给其他用户、不会同步到其它设备;并且在卸载客户端应用后,该消息不会留存。
开发者可使用此功能,向本地数据库插入一条消息,用于展示系统提示。例如:加入群组提示、离开群组等无需跨终端发送给其他用户的本地提示。
在实现“插入本地消息”功能之前,请确保:
开发者需要调用 insertMessageToLocalDB 接口,传入构造好的 ZIMMessage 消息、会话 conversationID、会话类型 conversationType、消息插入者 senderUserID 等参数,即可向本地数据库里插入一条消息。
[self.zim insertMessageToLocalDB:message
conversationID:conversationID
conversationType:conversationType
senderUserID:senderUserID
callback:^(ZIMMessage *_Nonnull message, ZIMError *_Nonnull errorInfo) {
// 开发者可以监听插入是否成功
}];
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
message | ZIMMessage | 是 | 插入的消息内容。可以指定传入的消息类型(例如:文本消息,富媒体消息,系统消息等类型)。 |
conversationID | NSString | 是 | 插入消息的会话 ID。
|
conversationType | ZIMConversationType | 是 | 会话类型。 |
senderUserID | NSString | 是 | 消息插入者的 userID。 |
callback | ZIMMessageInsertedCallback | 是 | 插入本地消息操作的结果回调。 |
// 1. 创建 ZIM 对象,传入 appID、appSign
ZIMAppConfig *appConfig = [[ZIMAppConfig alloc] init];
appConfig.appID = (unsigned int)appID; //替换为您申请到的 AppID
appConfig.appSign = @"appSign"; //替换为您申请到的 AppSign
self.zim = [ZIM createWithAppConfig: appConfig];
// 2. 登录
ZIMUserInfo *userInfo = [[ZIMUserInfo alloc]init];
userInfo.userID = @"zegoUser1"; //填入NSString类型的值
userInfo.userName = @"zegotest";//填入NSString类型的值
[self.zim loginWithUserInfo:userInfo callback:^(ZIMError * _Nonnull errorInfo){
// 开发者可根据 ZIMError 来判断是否登录成功。
}];
// 3. 向本地数据库插入一条消息
// 这里演示的是插入一条自定义消息,开发者可以自行修改为插入其他类型的消息,信令消息不支持。
ZIMCustomMessage *customMessage = [[ZIMCustomMessage alloc] init];
customMessage.message = @"custom";
customMessage.subType = 1; // 业务自己定义的系统消息类型,取值为 [0,200]
NSString *conversationID = @"conversationID";
ZIMConversationType type = ZIMConversationTypePeer;
NSString *senderUserID = @"senderUserID";
[self.zim
insertMessageToLocalDB:customMessage
conversationID:conversationID
conversationType:type
senderUserID:senderUserID
callback:^(ZIMMessage *_Nonnull message, ZIMError *_Nonnull errorInfo) {
GGLog(@"errorcode", errorInfo.code);
}];
联系我们
文档反馈