消息接收

本文主要介绍 云上曲率即时通讯IM SDK的消息接收功能。

功能描述

云上IM SDK通过push类型方法,将发送的消息通过服务端推送给接收者的客户端。因此开发者需要在初始化时,将接收消息的方法进行初始化。接收消息后,根据消息内容进行处理。

接口说明

接收文本消息

impushChatMessage接口用来P2P消息、群组消息和房间消息。 接口参数说明:

参数 类型 说明
conversationType 会话类型 包括P2P会话、群组会话和房间会话
message 消息内容 用户接收的文本消息内容
代码示例
-(void)imPushChatMessage:(LDEngine *)engine
        conversationType:(LDConversationType)conversationType
                 message:(IMMessage * _Nullable)message;

接收文件类消息

通过impushFileMessage接口可以接收图片、音频、语音、视频、文件等文件类型消息。 接口参数说明:

参数 类型 说明
conversationType 会话类型 包括P2P会话、群组会话和房间会话
message 消息内容 用户接收的文件类消息内容
代码示例
-(void)imPushFileMessage:(LDEngine *)engine
        conversationType:(LDConversationType)conversationType
                 message:(IMMessage * _Nullable)message;

接收群组类消息

当出现以下的群组操作时,相关用户会接收到服务端推送的消息:

  • 通知类消息,不需要接收用户进行操作
  • 请求类消息,用户接收到该类消息需要进行操作
用户接收的群组通知

通过imGroupChange,用户可以获取到以下几类通知消息:

  • 用户加入群组
  • 用户退出群组
  • 用户解散群组
  • 用户被踢出群组

接口参数说明:

参数 类型 说明
groupId 群组ID 用户所属群组
attrs 自定义参数 开发者可以配置业务信息
changeType 群组通知类型 类型说明:
0-加入群组 1-退出群组
2-解散群组 3-被踢出群组
代码示例
-(void)imGroupChange:(int64_t)groupId
          changeType:(int)changeType
               attrs:(NSString*)attrs;
申请入群通知

当有入群申请时,群组的群主和管理员会接收到申请入群通知

接口参数说明:

参数 类型 说明
groupId 群组ID 群主或管理员接受到申请请求的群组
userId 用户ID 申请入群的用户ID
message 文本信息 请求附带的申请信息
attrs 自定义参数 开发者可以配置业务信息
代码示例
-(void)imGroupAddApply:(int64_t)groupId
                userId:(int64_t)userId
               message:(NSString*)message
                 attrs:(NSString*)attrs;
申请入群结果通知

用户申请入群后,会接收到申请入群结果通知

  • 同意申请
  • 拒绝申请

接口参数说明:

参数 类型 说明
groupId 群组ID 用户申请入群的群组ID
userId 用户ID 群主或管理员
attrs 自定义参数 开发者可以配置业务信息
代码示例
-(void)imGroupAgreeAddApply:(int64_t)groupId
                     userId:(int64_t)userId
                      attrs:(NSString*)attrs;
-(void)imGroupRefuseAddApply:(int64_t)groupId
                      userId:(int64_t)userId
                       attrs:(NSString*)attrs;
邀请入群通知

当群组用户发起邀请其他用户入群时,其他用户会接收到邀请入群通知

接口参数说明:

参数 类型 说明
groupId 群组ID 邀请进入的群组
userId 用户ID 发出邀请的群组用户用户ID
message 文本信息 请求附带的申请信息
attrs 自定义参数 开发者可以配置业务信息
代码示例
-(void)imGroupInvitedAddApply:(int64_t)groupId
                       userId:(int64_t)userId
                      message:(NSString*)message
                        attrs:(NSString*)attrs;
邀请入群结果通知

当被邀请用户对邀请进行处理后,邀请者会接收到邀请入群结果通知

  • 同意邀请
  • 拒绝邀请

接口参数说明:

参数 类型 说明
groupId 群组ID 用户申请入群的群组ID
userId 用户ID 群主或管理员
attrs 自定义参数 开发者可以配置业务信息
代码示例
-(void)imGroupAgreeInvitedAddApply:(int64_t)groupId
                            userId:(int64_t)userId
                             attrs:(NSString*)attrs;
-(void)imGroupRefuseInvitedAddApply:(int64_t)groupId
                             userId:(int64_t)userId
                              attrs:(NSString*)attrs;
群组成员变更通知

群组用户可以获取到以下几类通知消息:

  • 有用户加入群组
  • 有用户退出群组

接口参数说明:

参数 类型 说明
groupId 群组ID 用户所属群组
userId 用户ID 发生变更的用户ID
代码示例
-(void)imGroupUserAdd:(int64_t)groupId
               userId:(int64_t)userId;
-(void)imGroupUserQuit:(int64_t)groupId
               userId:(int64_t)userId;
群组管理员变更通知

群组用户可以获取到以下几类通知消息:

  • 群组管理员新增
  • 群组管理员删除

接口参数说明:

参数 类型 说明
groupId 群组ID 用户所属群组
userId 用户ID 发生变更的用户ID
代码示例
-(void)imGroupManagerAdd:(int64_t)groupId
                 userIds:(NSArray <NSNumber*> *)userId;
-(void)imGroupManagerDeleted:(int64_t)groupId
                     userIds:(NSArray <NSNumber*> *)userId;
用户接收的群主变更通知

群组用户可以接收到所在群组的群主变更的通知。 接口参数说明:

参数 类型 说明
groupId 群组ID 用户所属群组
old 用户ID 变更前的群主ID
new 用户ID 变更后的群主ID
代码示例
-(void)imGroupOwnerChange:(int64_t)groupId
                 oldOwner:(int64_t)oldOwner
                 newOwner:(int64_t)newOwner;

接收房间类消息

当出现以下的房间操作时,相关用户会接收到服务端推送的消息:

  • 通知类消息,不需要接收用户进行操作
  • 请求类消息,用户接收到该类消息需要进行操作
用户接收的房间通知

通过imRoomChange,用户可以获取到以下几类通知消息:

  • 用户加入房间
  • 用户退出房间
  • 用户解散房间
  • 用户被踢出房间

接口参数说明:

参数 类型 说明
roomId 房间ID 用户所属房间
attrs 自定义参数 开发者可以配置业务信息
changeType 房间通知类型 类型说明:
0-加入房间 1-退出房间
2-解散房间 3-被踢出房间
代码示例
-(void)imRoomChange:(int64_t)roomId
          changeType:(int)changeType
               attrs:(NSString*)attrs;
邀请加入房间通知

当房间用户发起邀请其他用户加入房间时,其他用户会接收到邀请加入房间通知

接口参数说明:

参数 类型 说明
roomId 房间ID 邀请进入的房间
userId 用户ID 发出邀请的房间用户用户ID
message 文本信息 请求附带的申请信息
attrs 自定义参数 开发者可以配置业务信息
代码示例
-(void)imRoomInvitedAddApply:(int64_t)roomId
                       userId:(int64_t)userId
                      message:(NSString*)message
                        attrs:(NSString*)attrs;
邀请加入房间结果通知

当被邀请用户对邀请进行处理后,邀请者会接收到邀请加入房间结果通知

  • 同意邀请
  • 拒绝邀请

接口参数说明:

参数 类型 说明
roomId 房间ID 用户申请加入房间的群组ID
userId 用户ID 房主或管理员
attrs 自定义参数 开发者可以配置业务信息
代码示例
-(void)imRoomAgreeInvitedAddApply:(int64_t)roomId
                            userId:(int64_t)userId
                             attrs:(NSString*)attrs;
-(void)imRoomRefuseInvitedAddApply:(int64_t)roomId
                             userId:(int64_t)userId
                              attrs:(NSString*)attrs;
房间成员变更通知

房间用户可以获取到以下几类通知消息:

  • 有用户加入房间
  • 有用户退出房间

接口参数说明:

参数 类型 说明
roomId 群组ID 用户所属房间
userId 用户ID 发生变更的用户ID
代码示例
-(void)imRoomUserAdd:(int64_t)roomId
               userId:(int64_t)userId;
-(void)imRoomUserQuit:(int64_t)roomId
               userId:(int64_t)userId;
房间管理员变更通知

房间用户可以获取到以下几类通知消息:

  • 房间管理员新增
  • 房间管理员删除

接口参数说明:

参数 类型 说明
roomId 房间ID 用户所属房间
userId 用户ID 发生变更的用户ID
代码示例
-(void)imRoomManagerAdd:(int64_t)roomId
                 userIds:(NSArray <NSNumber*> *)userId;
-(void)imRoomManagerDeleted:(int64_t)roomId
                     userIds:(NSArray <NSNumber*> *)userId;
用户接收的房主变更通知

房间用户可以接收到所在房间的房主变更的通知。 接口参数说明:

参数 类型 说明
roomId 群组ID 用户所属房间
old 用户ID 变更前的房主ID
new 用户ID 变更后的房主ID
代码示例
-(void)imRoomOwnerChange:(int64_t)groupId
                 oldOwner:(int64_t)oldOwner
                 newOwner:(int64_t)newOwner;

接收好友类消息

当出现以下的好友操作时,相关用户会接收到服务端推送的消息:

  • 通知类消息,不需要用户进行操作
  • 请求类消息,用户接收到该类消息需要进行操作
好友申请通知

当有好友申请时,用户会接收到好友申请通知

接口参数说明:

参数 类型 说明
userId 用户ID 申请好友的用户ID
message 文本信息 请求附带的申请信息
attrs 自定义参数 开发者可以配置业务信息
代码示例
-(void)imFriendAddApply:(int64_t)userId
                message:(NSString* )message
                attrs:(NSString * _Nullable)attrs;
好友申请结果通知

当用户进行好友申请处理后,申请者会接收到好友申请结果通知

  • 同意成为好友
  • 拒绝成为好友

接口参数说明:

参数 类型 说明
userId 用户ID 被申请好友用户
attrs 自定义参数 开发者可以配置业务信息
代码示例
-(void)imFriendAgreeAddApply:(int64_t)userId
                       attrs:(NSString * _Nullable)attrs;
-(void)imFriendRefuseAddApply:(int64_t)userId
                       attrs:(NSString * _Nullable)attrs;
好友关系变更通知

用户在进行好友处理之后,好友关系的双方均会接收到好友关系变更通知

  • 成为好友
  • 取消好友

接口参数说明:

参数 类型 说明
userId 用户ID 好友关系的对方用户ID
changeType 变更类型 变更类型:0-好友建立 1-好友删除
attrs 自定义参数 开发者可以配置业务信息
代码示例
-(void)imFriendChange:(int64_t)userId
           changeType:(int)changeType
                attrs:(NSString * _Nullable)attrs;