浏览 SDKs · uni-app / uni-app x
SDKsuni-app商业版

发起群通话

商业版向群成员发起群组通话邀请。

复制

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

参数说明

参数类型是否必填说明
invitationOpenIMSignalingInvitationInfo本次通话邀请。
invitation.inviterUserIDstring发起人的用户 ID。
invitation.inviteeUserIDListstring[]被邀请的群成员用户 ID;不要包含发起人。
invitation.groupIDstring群组 ID,群聊通话不能为空。
invitation.roomIDstring本次通话的唯一房间标识,所有参与端必须一致。
invitation.timeoutnumber邀请等待时长,单位为秒。
invitation.mediaTypestring媒体类型,业务通常约定为 audiovideo
invitation.sessionTypenumber工作群会话传 OpenIMSessionTypeWriteGroup
invitation.platformIDnumber当前客户端平台;Android/iOS 分别使用对应平台常量。
invitation.customDatastring随邀请携带的业务扩展字符串。
invitation.initiateTimenumber邀请发起时间,通常由信令链路维护。
invitation.busyLineUserIDListstring[]发起新邀请时通常不填写。
offlinePushInfoOpenIMSignalingOfflinePushInfo被邀请人离线时使用的推送内容。
import {
  OpenIMPlatformAndroid,
  OpenIMSessionTypeWriteGroup,
  signalingInviteInGroup,
} from '@/uni_modules/unix-openim-sdk'

const roomCredentials = await signalingInviteInGroup({
  invitation: {
    inviterUserID: currentUserID,
    inviteeUserIDList: selectedGroupMemberIDs,
    customData: JSON.stringify({ source: 'group-call' }),
    groupID,
    roomID: groupID,
    mediaType: 'video',
    timeout: 30,
    sessionType: OpenIMSessionTypeWriteGroup,
    platformID: OpenIMPlatformAndroid,
  },
  offlinePushInfo,
})

示例沿用群组 ID 作为房间 ID;若业务自行生成 roomID,所有参与端必须使用同一个值。iOS 端将 platformID 改为 OpenIMPlatformIOS。发起前应排除当前用户、空值和重复成员,并确认目标仍在群内。

Promise 成功后,roomCredentialsOpenIMSignalingInviteResult | null,字段含义见发起单聊通话busyLineUserIDList 只表示部分成员忙线,不应中止其他成员的邀请;成功也不代表其他成员已经接听,后续状态由通话事件合并。