邀请机制

邀请他人

 /**
 邀请加入频道

 @param request 邀请加入频道请求
 @param completion 完成回调
 @discussion 该接口用于邀请对方加入频道,邀请者必须是创建者或者是频道中成员。如果需要对离线成员邀请,可以打开离线邀请开关并填写推送信息。被邀请者在线后通过离线通知接收到该邀请,并通过房间信息中的invalid_字段判断房间的有效性,也可以对所有离线消息处理后判断该邀请是否被取消。
 @discussion 错误码 200:成功  10404:房间不存在 10406:不在房间内(自己)10407:已经房间内(对方)10419:房间人数超限  10201:对方云信不在线  10202:对方推送不可达
 */
- (void)signalingInvite:(NIMSignalingInviteRequest *)request
             completion:(nullable NIMSignalingOperationBlock)completion;

取消邀请

/**
 取消邀请

 @param request 取消邀请请求
 @param completion 完成回调
 @discussion 错误码 200:成功  10404:房间不存在 10408:邀请不存在或已过期 10409:邀请已经拒绝 10410:邀请已经接受
 */
- (void)signalingCancelInvite:(NIMSignalingCancelInviteRequest *)request
                   completion:(nullable NIMSignalingOperationBlock)completion;

参数NIMSignalingCancelInviteRequest中的 requestId 需要传入邀请时生成的id。

接受邀请

   /**
 接受邀请

 @param request 接受邀请请求
 @param completion 完成回调
 @discussion 接受频道接口
 不开自动加入开关:该接口只接受邀请并告知邀请者,并同步通知自己的其他在线设备,但不会主动加入频道,需要单独调用加入接口
 打开自动加入开关:该接口为组合接口,等同于先调用接受邀请,成功后再加入房间。
 @discussion 错误码 200:成功 10404:房间不存在 10408:邀请不存在或已过期 10409:邀请已经拒绝 10410:邀请已经接受 10407:已经房间内 10420:已经在房间内(自己的其他端) 10419:房间人数超限 10417:uid冲突
 */
- (void)signalingAccept:(NIMSignalingAcceptRequest *)request
             completion:(nullable NIMSignalingAcceptBlock)completion;

拒绝邀请

/**
 拒绝邀请

 @param request 拒绝邀请请求
 @param completion 完成回调
 @discussion 拒绝邀请后用户也可以通过加入频道接口加入频道,接口的使用由用户的业务决定
 @discussion 错误码 200:成功  10404:房间不存在 10408:邀请不存在或已过期 10409:邀请已经拒绝 10410:邀请已经接受
 */
- (void)signalingReject:(NIMSignalingRejectRequest *)request
             completion:(nullable NIMSignalingOperationBlock)completion;

直接呼叫

 /**
 呼叫

 @param request 呼叫请求
 @param completion 完成回调
 @discussion 用于用户新开一个频道并邀请对方加入频道,该接口为组合接口,等同于用户先创建频道,成功后加入频道并邀请对方
 @discussion 错误码 200:成功 10405:房间已存在 10201:对方云信不在线 10202:对方推送不可达。该接口是用户呼叫场景的组合接口封装,调用该接口,sdk底层分别会 创建、加入、邀请,再返回用户结果,其中任何一步失败,就返回失败(其中邀请返回10201和10202,认为是成功,返回码还是10201和10202给上层),失败时,sdk需要主动close。常用于但不限于点对点呼叫发起。
 @discussion error的错误码为10201和10202时,返回的房间信息时有效的,需要用户主动close房间
 */
- (void)signalingCall:(NIMSignalingCallRequest *)request
           completion:(nullable NIMSignalingCallBlock)completion;