SDKsWASM商业版
发起群聊通话
使用 WASM SDK 发起群聊音视频通话。
signalingInviteInGroup() 发起群聊通话,只邀请 inviteeUserIDList 明确列出的群成员,不会因为填写 groupID 自动邀请全群。
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
invitation | SignalingInvitation | 是 | 本次通话邀请。 |
invitation.inviterUserID | string | 是 | 发起人的用户 ID。 |
invitation.inviteeUserIDList | string[] | 是 | 被邀请的群成员用户 ID 列表;不要包含发起人。 |
invitation.groupID | string | 是 | 群组 ID,群聊通话不能为空。 |
invitation.roomID | string | 是 | 本次通话的唯一房间标识,所有参与端必须一致。 |
invitation.timeout | number | 是 | 邀请等待时长,单位为秒。 |
invitation.mediaType | string | 是 | 媒体类型,业务通常约定为 audio 或 video。 |
invitation.sessionType | SessionType | 是 | 群聊使用 SessionType.WorkingGroup。 |
invitation.platformID | Platform | 是 | 发起端平台,网页端使用 Platform.Web。 |
invitation.customData | string | 否 | 随邀请携带的业务扩展字符串。 |
invitation.initiateTime | number | 否 | 邀请发起时间,Unix 毫秒时间戳。通常由 SDK 的通话流程维护,无需手动填写。 |
invitation.busyLineUserIDList | string[] | 否 | 忙线用户列表。发起新邀请时通常不填写。 |
offlinePushInfo | OfflinePush | 否 | 被邀请人离线时使用的推送内容。 |
offlinePushInfo.title | string | 条件必填 | 提供 offlinePushInfo 时填写推送标题。 |
offlinePushInfo.desc | string | 条件必填 | 提供 offlinePushInfo 时填写推送正文。 |
offlinePushInfo.ex | string | 条件必填 | 提供 offlinePushInfo 时填写扩展字符串;没有内容时传空字符串。 |
offlinePushInfo.iOSPushSound | string | 条件必填 | 提供 offlinePushInfo 时填写 iOS 推送声音。 |
offlinePushInfo.iOSBadgeCount | boolean | 条件必填 | 提供 offlinePushInfo 时说明是否更新 iOS 角标。 |
import { Platform, SessionType } from '@openim/wasm-client-sdk';
const { data: roomCredentials } = await openimsdk.signalingInviteInGroup({
invitation: {
inviterUserID: currentUserID,
inviteeUserIDList: selectedGroupMemberIDs,
customData: JSON.stringify({ source: 'group-call' }),
groupID,
roomID: crypto.randomUUID(),
timeout: 30,
mediaType: 'video',
sessionType: SessionType.WorkingGroup,
platformID: Platform.Web,
},
offlinePushInfo,
});每次群通话都应生成新的 roomID,不要直接复用 groupID,否则同一群组的不同通话可能被错误合并。被邀请方从邀请事件取得该值,后续接受、拒绝、取消和挂断操作都继续使用同一个 roomID。发起前还应排除当前用户、空值和重复成员。
Promise 成功后,data 是 SignalingInviteResult,字段含义见发起单聊通话。
busyLineUserIDList 只表示部分成员忙线,不应中止其他成员的邀请;成功也不代表其他成员已经接听。
这个页面有帮助吗?