浏览 SDKs · iOS
平台
SDKsiOS商业版

发起单聊通话

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

复制

调用单聊通话邀请方法发起音视频通话。SDK 负责信令流转与房间凭据生成,应用层需使用成功回调返回的房间凭据连接音视频媒体引擎。

参数说明

字段类型说明
inviteeUserIDListNSArray<NSString *> *被邀请用户 ID 列表,单聊只包含一个目标用户。
roomIDNSString *通话房间唯一标识,客户端生成 UUID 或由业务系统分配。
timeoutNSInteger邀请超时时间(秒)。
mediaTypeNSString *媒体类型,例如 video 或 audio。
groupIDNSString *群组 ID,单聊传空字符串。
OIMInvitationInfo *invitation = [OIMInvitationInfo new];
invitation.inviteeUserIDList = @[@"user_b"];
invitation.roomID = NSUUID.UUID.UUIDString.lowercaseString;
invitation.timeout = 30;
invitation.mediaType = @"video";
invitation.groupID = @"";

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

方法同步返回的 OIMSignalingInfo 包含当前信令快照,应妥善保存供后续取消、挂断或与事件做状态合并使用。通话状态以 roomID 为合并标识,参与者状态同时结合用户 ID。

返回结果

成功回调 onSuccess 返回 OIMInvitationResultInfo 对象,包含已分配的 roomID、接入 Token(token)、流媒体地址(liveURL)及忙线用户列表(busyLineUserIDList)。成功仅表示服务端已接受邀请信令,不代表对方已接听;对方是否接听应通过处理通话事件监听。