浏览 SDKs · WASM
SDKsWASM商业版

发起群聊通话

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

复制

signalingInviteInGroup() 发起群聊通话,只邀请 inviteeUserIDList 明确列出的群成员,不会因为填写 groupID 自动邀请全群。

参数说明

参数类型是否必填说明
invitationRtcInvite本次通话邀请。
invitation.inviterUserIDstring发起人的用户 ID。
invitation.inviteeUserIDListstring[]被邀请的群成员用户 ID 列表;不要包含发起人。
invitation.groupIDstring群组 ID,群聊通话不能为空。
invitation.roomIDstring本次通话的唯一房间标识,所有参与端必须一致。
invitation.timeoutnumber邀请等待时长,单位为秒。
invitation.mediaTypestring媒体类型,业务通常约定为 audiovideo
invitation.sessionTypeSessionType群聊使用 SessionType.WorkingGroup
invitation.platformIDPlatform发起端平台,网页端使用 Platform.Web
invitation.customDatastring随邀请携带的业务扩展字符串。
invitation.initiateTimenumber邀请发起时间。通常由信令链路维护,无需手动填写。
invitation.busyLineUserIDListstring[]忙线用户列表。发起新邀请时通常不填写。
offlinePushInfoOfflinePush被邀请人离线时使用的推送内容。
offlinePushInfo.titlestring条件必填提供 offlinePushInfo 时填写推送标题。
offlinePushInfo.descstring条件必填提供 offlinePushInfo 时填写推送正文。
offlinePushInfo.exstring条件必填提供 offlinePushInfo 时填写扩展字符串;没有内容时传空字符串。
offlinePushInfo.iOSPushSoundstring条件必填提供 offlinePushInfo 时填写 iOS 推送声音。
offlinePushInfo.iOSBadgeCountboolean条件必填提供 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: groupID,
    timeout: 30,
    mediaType: 'video',
    sessionType: SessionType.WorkingGroup,
    platformID: Platform.Web,
  },
  offlinePushInfo,
});

示例沿用群组 ID 作为房间 ID;若业务自行生成 roomID,所有参与端必须使用同一个值。发起前应排除当前用户、空值和重复成员。

Promise 成功后,dataRtcInviteResults,字段含义见发起单聊通话

busyLineUserIDList 只表示部分成员忙线,不应中止其他成员的邀请;成功也不代表其他成员已经接听。