# 第三方管理
本文将介绍通话过程中第三方管理的功能:座席可以邀请另外的座席或者访客加入通话,以及收到所有参会成员的加入,离开事件。
# 1. 邀请第三方座席加入
// 邀请第三方坐席 agent3 参加通话
[_agent inviteThirdAgent:@"agent3"];
// 邀请坐席结果
- (void)onInviteThirdAgentResult:(bool)result error:(NSString *)error {
if (result == true) {
// 邀请坐席成功
} else {
// 邀请坐席失败,失败原因查看 error
}
}
# 2. 邀请第三方访客加入
在通话过程中调用 inviteThirdGuest (opens new window) 接口邀请第三方访客进入通话。
/**
* 邀请第三方访客加入
*
* 第三方访客接听通话后,已在通话中的成员会收到 {@link JRTCAgentCallback.onMemberJoin: onMemberJoin} 或 {@link JRTCGuestCallback.onMemberJoin: onMemberJoin} 成员加入回调
* @param userId 要邀请的第三方访客用户ID
* @param extraInfo 邀请携带的额外信息
* @return 接口调用结果
* - true: 接口调用成功,结果通过 {@link JRTCAgentCallback.onInviteThirdGuestResult:userId:error: onInviteThirdGuestResult} 回调上报
* - false: 接口调用异常
*/
- (bool)inviteThirdGuest:(NSString *)userId extraInfo:(NSString *__nullable)extraInfo;
邀请第三方访客的结果通过 onInviteThirdGuestResult (opens new window) 回调通知。
/**
* 邀请第三方访客结果回调
*
* @param result 邀请第三方访客结果
* - true: 邀请成功
* - false: 邀请失败
* @param userId 访客用户ID
* @param error 邀请第三方访客失败原因,仅在失败时生效
*/
- (void)onInviteThirdGuestResult:(bool)result userId:(NSString *)userId error:(NSString *)error;
示例代码:
// 邀请访客用户 guest2 参加通话
[_agent inviteThirdGuest:@"guest2" script:@"附加信息"];
// 邀请第三方访客结果
- (void)onInviteThirdGuestResult:(bool)result userId:(NSString *)userId error:(NSString *)error {
if (result == true) {
NSLog(@"邀请第三方访客 %@ 成功", userId);
}
}
# 3. 三方成员(座席或访客)离开或加入
有成员离开或者有新成员加入时 JRTCAgentCallback (opens new window) 会上报 onMemberJoin (opens new window) 或 onMemberLeave (opens new window) 回调。
/**
* 通话中有新成员加入回调
*
* 当第三方成员加入通话时,已在通话中的所有成员会收到此回调,而新加入的成员不会收到此回调。
* @param part 新加入的成员对象
*/
- (void)onMemberJoin:(JRTCRoomParticipant *)part;
/**
* 通话中有成员离开回调
*
* 通话中有成员离开通话时,剩余的成员会收到此回调,而离开的成员不会收到此回调。
* @param part 离开的成员对象
*/
- (void)onMemberLeave:(JRTCRoomParticipant *)part;