浏览 SDKs · iOS
平台
SDKsiOS商业版

发起群聊通话

使用 iOS SDK 发起群聊音视频通话。

复制

发起群聊通话邀请时,只会向 inviteeUserIDList 中明确列出的成员发送邀请,不会因为指定 groupID 而自动邀请全群成员。

参数说明

字段类型说明
inviteeUserIDListNSArray<NSString *> *计划邀请的群成员用户 ID 列表。
groupIDNSString *目标群组 ID,不能为空。
roomIDNSString *通话房间 ID;可使用群组 ID 或由业务统一分配的唯一标识。
timeoutNSInteger邀请超时时间(秒)。
mediaTypeNSString *媒体类型,例如 video 或 audio。
OIMInvitationInfo *invitation = [OIMInvitationInfo new];
invitation.inviteeUserIDList = selectedGroupMemberIDs;
invitation.groupID = groupID;
invitation.roomID = groupID;
invitation.timeout = 30;
invitation.mediaType = @"video";

[[OIMManager manager] signalingInviteInGroup:invitation
                              offlinePushInfo:nil
                                    onSuccess:^(OIMInvitationResultInfo * _Nullable credentials) {
    if (credentials != nil) [self joinMediaRoom:credentials];
}
                                     onFailure:^(NSInteger code, NSString * _Nullable message) {
    [self showCallError:code message:message ?: @"发起群聊通话失败"];
}];

通话状态以 roomID 为合并标识,参与者状态同时结合用户 ID。如果业务自行生成 roomID,所有参与端必须保持一致。

返回结果

成功回调 onSuccess 返回 OIMInvitationResultInfo 对象,包含已分配的 roomID、接入 Token(token)、流媒体地址(liveURL)及忙线用户列表(busyLineUserIDList)。busyLineUserIDList 仅表示部分成员忙线,不应中止对其他空闲成员的邀请流程。其他成员的接听状态通过处理通话事件进行监听。