IMSDK
即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、账号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。
V2TIMManager(Signaling)

构造函数

(void) - addSignalingListener:
 
(void) - removeSignalingListener:
 
(NSString *) - invite:data:onlineUserOnly:offlinePushInfo:timeout:succ:fail:
 
(NSString *) - inviteInGroup:inviteeList:data:onlineUserOnly:timeout:succ:fail:
 
(void) - cancel:data:succ:fail:
 
(void) - accept:data:succ:fail:
 
(void) - reject:data:succ:fail:
 
(V2TIMSignalingInfo *) - getSignallingInfo:
 
(void) - addInvitedSignaling:succ:fail:
 
(void) - modifyInvitation:data:succ:fail:
 

成员类型定义说明

◆ V2TIMSignalingInfoSucc

- (typedef void(^ V2TIMSignalingInfoSucc) (V2TIMSignalingInfo *signalInfo))
protected

获取信令信息成功回调

函数文档

◆ addSignalingListener:()

- (void) addSignalingListener: (addSignalingListener(listener:))  NS_SWIFT_NAME

添加信令监听

◆ removeSignalingListener:()

- (void) removeSignalingListener: (removeSignalingListener(listener:))  NS_SWIFT_NAME

移除信令监听

◆ invite:data:onlineUserOnly:offlinePushInfo:timeout:succ:fail:()

- (NSString*) invite: (NSString *)  invitee
data: (NSString *)  data
onlineUserOnly: (BOOL)  onlineUserOnly
offlinePushInfo: (V2TIMOfflinePushInfo *)  offlinePushInfo
timeout: (int)  timeout
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

邀请某个人

参数
invitee被邀请人用户 ID
data自定义数据
timeout超时时间,单位 s,如果设置为 0,SDK 不会做超时检测,也不会触发 onInvitationTimeout 回调
onlineUserOnly是否只有在线用户才能收到邀请,如果设置为 YES,只有在线用户才能收到,并且 invite 操作也不会产生历史消息(针对该次 invite 的后续 cancel、accept、reject、timeout 操作也同样不会产生历史消息)。
offlinePushInfo苹果 APNS 离线推送时携带的标题和声音,其中 desc 为必填字段,推送的时候会默认展示 desc 信息。
返回
inviteID 邀请 ID,如果邀请失败,返回 nil

◆ inviteInGroup:inviteeList:data:onlineUserOnly:timeout:succ:fail:()

- (NSString*) inviteInGroup: (NSString *)  groupID
inviteeList: (NSArray *)  inviteeList
data: (NSString *)  data
onlineUserOnly: (BOOL)  onlineUserOnly
timeout: (int)  timeout
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

邀请群内的某些人

参数
groupID发起邀请所在群组
inviteeList被邀请人列表,inviteeList 必须已经在 groupID 群里,否则邀请无效
timeout超时时间,单位 s,如果设置为 0,SDK 不会做超时检测,也不会触发 onInvitationTimeout 回调
onlineUserOnly是否只有在线用户才能收到邀请,如果设置为 YES,只有在线用户才能收到,并且 invite 操作也不会产生历史消息(针对该次 invite 的后续 cancel、accept、reject、timeout 操作也同样不会产生历史消息)。
返回
inviteID 邀请 ID,如果邀请失败,返回 nil
注意
群邀请暂不支持离线推送,如果您需要离线推送,可以针对被邀请的用户单独发离线推送自定义消息。

◆ cancel:data:succ:fail:()

- (void) cancel: (NSString *)  inviteID
data: (NSString *)  data
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

邀请方取消邀请

参数
inviteID邀请 ID
注意
如果所有被邀请人都已经处理了当前邀请(包含超时),不能再取消当前邀请。

◆ accept:data:succ:fail:()

- (void) accept: (NSString *)  inviteID
data: (NSString *)  data
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

接收方接受邀请

注意
不能接受不是针对自己的邀请,请在收到 onReceiveNewInvitation 回调的时候先判断 inviteeList 有没有自己,如果没有自己,不能 accept 邀请。

◆ reject:data:succ:fail:()

- (void) reject: (NSString *)  inviteID
data: (NSString *)  data
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

接收方拒绝邀请

注意
不能拒绝不是针对自己的邀请,请在收到 onReceiveNewInvitation 回调的时候先判断 inviteeList 有没有自己,如果没有自己,不能 reject 邀请。

◆ getSignallingInfo:()

- (V2TIMSignalingInfo *) getSignallingInfo: (V2TIMMessage *)  msg

获取信令信息

如果 invite 设置 onlineUserOnly 为 NO,每次信令操作(包括 invite、cancel、accept、reject、timeout)都会产生一条自定义消息,该消息会通过 V2TIMAdvancedMsgListener -> onRecvNewMessage 抛给用户,用户也可以通过历史消息拉取,如果需要根据信令信息做自定义化文本展示,可以调用下面接口获取信令信息。

参数
msg消息对象
返回
V2TIMSignalingInfo 信令信息,如果为 nil,则 msg 不是一条信令消息。

◆ addInvitedSignaling:succ:fail:()

- (void) addInvitedSignaling: (V2TIMSignalingInfo *)  signallingInfo
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

添加邀请信令

主要用于邀请者在被邀请者离线期间,发送了群聊邀请,被邀请者上线后将该信令同步给 SDK,从而正常使用信令功能。

当被邀请者点击离线推送提示,拉起 App 时:

  1. 如果被邀请者离线期间,邀请者发送的是 1V1 信令,SDK 可以自动同步邀请信令。邀请未超时,回调 onReceiveNewInvitation。
  2. 如果被邀请者离线期间,邀请者发送的是群聊信令,不同 SDK 版本表现如下:
  • 6.7 以前的版本: SDK 无法自动同步邀请信令(信令本质上就是一条自定义消息,群离线消息在程序启动后无法自动同步)。 如果被邀请者需要处理该邀请信令,可以让邀请者在发起信令时,向每个被邀请者额外发送一条 C2C 离线推送消息,消息携带 V2TIMSignalingInfo 信息。 被邀请者收到离线推送时通过 addInvitedSignaling 将 V2TIMSignalingInfo 信息告知 SDK。
  • 6.7 及以后的版本: SDK 会自动同步最近 30 秒的消息。如果其中包含了未超时的邀请信令,回调 onReceiveNewInvitation。您无需再调用本接口同步邀请信令。
注意
如果添加的信令信息已存在,fail callback 会抛 ERR_SDK_SIGNALING_ALREADY_EXISTS 错误码。

◆ modifyInvitation:data:succ:fail:()

- (void) modifyInvitation: (NSString *)  inviteID
data: (NSString *)  data
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

修改邀请信令(6.7 及其以上版本支持)

注意
仅支持修改邀请信令的自定义字段 data。只有在线用户才能收到的邀请信令不能被修改。