iOS

消息配置选项

更新时间: 2024/03/14 17:08:36

发送消息时可以设置消息配置选项 NIMMessage - NIMMessageSetting,主要用于设定该消息是否存入云端、是否写入漫游等。

参数说明

消息配置选项
类型
说明
historyEnabled BOOL 消息是否存入云端,默认为YES。 正常而言所有消息都会出现在通过 NIMConversationManager 调用(fetchMessageHistory:option:result:)返回的结果中,但是可以通过设置这个值来使得消息不出现在这其中。
roamingEnabled BOOL 消息是否支持漫游,默认为YES。 消息漫游的概念是指一定时间内发送的消息可以在另一端被同步到,以保证最大限度的消息同步
syncEnabled BOOL 当发送方在多个客户端同时登录时,其中一端发送一条消息后,客户端是否需要在收消息的回调抛出该条消息。
shouldBeCounted BOOL 消息是否需要被计入未读计数。默认为YES。默认情况下,用户收到的所有消息都会被计入未读。设置这个为NO后,对应的消息被对端接受后将不计入未读消息计数内
apnsEnabled BOOL 消息是否需要推送 。默认为YES。将这个字段设为NO,消息将不再有推送通知
apnsWithPrefix BOOL 推送是否需要带前缀(一般为昵称)。默认为YES。将这个字段设为NO,推送消息将不带有前缀(xx:)
routeEnabled BOOL 是否需要抄送。默认为YES,即默认会抄送消息给开发者的服务器(如果有配置的话)
persistEnable BOOL 该消息是否要存离线,默认为 YES,若设置为 false,将不会存入离线库与云端历史消息库。
teamReceiptEnabled BOOL 其他群成员收到此消息是否需要发送已读回执,默认为NO,设置成 YES 之后所有群回执相关操作才会生效
scene NSString 消息对应的场景
isSessionUpdate BOOL 是否将本消息更新到服务端会话列表中本会话的最后一条消息。默认:YES
quickDeliveryEnabled BOOL 消息是否需要快速投递,默认为NO。将这个字段设为YES,消息在SDK内部将以最高优先级处理并发送,但会抢占其他业务的处理资源。此选项仅对点对点,群组,超大群会话类型有效

配置示例

NIMMessage *message = [[NIMMessage alloc] init];
message.text = [NSString stringWithFormat:@"Test messasge %@", @(i)];
message.apnsPayload = @{
    @"apns-collapse-id": message.messageId,
};
// 设置示例
NIMMessageSetting *setting = [[NIMMessageSetting alloc] init];
setting.scene = NIMNOSSceneTypeMessage;
message.setting = setting;
NSError *error = nil;
[[[NIMSDK sharedSDK] chatManager] sendMessage:message
                                                toSession:self.sessionVC.session
                                                    error:&error];
此文档是否对你有帮助?
有帮助
去反馈
  • 参数说明
  • 配置示例