RCCallClient Class Reference

Inherits from NSObject
Declared in RCCallClient.h

Overview

融云CallLib核心类

  invitePushConfig

自定义push消息. 应在startCall之前调用

@property (nonatomic, strong, nullable) RCMessagePushConfig *invitePushConfig

Discussion

自定义push消息. 应在startCall之前调用

Declared In

RCCallClient.h

  hangupPushConfig

自定义push消息. 应在startCall之前调用

@property (nonatomic, strong, nullable) RCMessagePushConfig *hangupPushConfig

Discussion

自定义push消息. 应在startCall之前调用

Declared In

RCCallClient.h

  canHangupSystemPhonecall

呼叫或通话过程中, 当收到手机号系统来电时, 是否挂断当前呼叫或通话, 默认: Yes 挂断

@property (nonatomic, assign) BOOL canHangupSystemPhonecall

Discussion

呼叫或通话过程中, 当收到手机号系统来电时, 是否挂断当前呼叫或通话, 默认: Yes 挂断

Declared In

RCCallClient.h

  joinCallType

在开启 IM 链接多端登录的前提下,同一 UserId 的不同端先后加入通话的处理行为 默认: RCCallJoinCallTypeKick 将先加入通话用户踢出通话

@property (nonatomic, assign) RCCallJoinCallType joinCallType

Discussion

在开启 IM 链接多端登录的前提下,同一 UserId 的不同端先后加入通话的处理行为 默认: RCCallJoinCallTypeKick 将先加入通话用户踢出通话

Declared In

RCCallClient.h

+ sharedRCCallClient

获取融云通话能力库 RCCallClient 的核心类单例

+ (instancetype)sharedRCCallClient

Return Value

融云通话能力库 RCCallClient 的核心类单例

Discussion

获取融云通话能力库 RCCallClient 的核心类单例

@discussion 您可以通过此方法, 获取 RCCallClient 的单例,访问对象中的属性和方法

@remarks 通话设置

Declared In

RCCallClient.h

– setDelegate:

设置全局通话呼入的监听器

- (void)setDelegate:(id<RCCallReceiveDelegate>)delegate

Parameters

delegate

CallLib全局通话呼入的监听器 @discussion 设置全局通话呼入的监听器

@remarks 通话设置

Discussion

设置全局通话呼入的监听器

Declared In

RCCallClient.h

– startCall:targetId:to:mediaType:sessionDelegate:extra:

发起一个通话

- (nullable RCCallSession *)startCall:(RCConversationType)conversationType targetId:(NSString *)targetId to:(NSArray<NSString*> *)userIdList mediaType:(RCCallMediaType)type sessionDelegate:(id<RCCallSessionDelegate>)delegate extra:(nullable NSString *)extra

Parameters

conversationType

会话类型

targetId

目标会话ID, 单人呼叫时targetId为被叫端UserId, 多人呼叫时targetId为群组Id, 请不要填写主叫端UserId, 否则无法发起呼叫

userIdList

被叫端的用户ID列表, 数组中仅填写被叫端UserId, 请不要填写主叫端UserId, 否则无法发起呼叫

type

发起的通话媒体类型

delegate

通话监听

extra

附件信息 @discussion 发起一个通话

@remarks 通话管理

Return Value

呼出的通话实体

Discussion

发起一个通话

Declared In

RCCallClient.h

– startCrossCall:targetId:to:mediaType:sessionDelegate:extra:

发起一个跨应用通话

- (RCCallSession *)startCrossCall:(RCConversationType)conversationType targetId:(NSString *)targetId to:(NSArray *)userIdList mediaType:(RCCallMediaType)type sessionDelegate:(id<RCCallSessionDelegate>)delegate extra:(NSString *)extra

Parameters

conversationType

会话类型 (仅支持单聊)

targetId

目标会话ID, 单人呼叫时targetId为被叫端UserId

userIdList

被叫端的用户ID列表, 数组中仅填写被叫端UserId, 请不要填写主叫端UserId, 否则无法发起呼叫;(注意此处ID组成形式为Appkey+UserId, 格式为appkey_userid,注意下划线拼接)

type

发起的通话媒体类型

delegate

通话监听

extra

附件信息 @discussion 发起一个通话

@remarks 通话管理

Return Value

呼出的通话实体

Discussion

发起一个跨应用通话

Declared In

RCCallClient.h

– startCall:targetId:to:observerIdList:mediaType:sessionDelegate:extra:

发起一个通话

- (nullable RCCallSession *)startCall:(RCConversationType)conversationType targetId:(NSString *)targetId to:(NSArray<NSString*> *)userIdList observerIdList:(NSArray<NSString*> *)observerIdList mediaType:(RCCallMediaType)type sessionDelegate:(id<RCCallSessionDelegate>)delegate extra:(nullable NSString *)extra

Parameters

conversationType

会话类型

targetId

目标会话ID, 单人呼叫时targetId为被叫端UserId, 多人呼叫时targetId为群组Id

userIdList

被叫端的用户ID列表, 数组中仅填写被叫端UserId, 请不要填写主叫端UserId, 否则无法发起呼叫

observerIdList

主叫端指定需要以观察者身份加入房间的用户ID列表, 如果主叫端需要以观察者身份加入房间也需要填写主叫端UserId

type

发起的通话媒体类型

delegate

通话监听

extra

附件信息 @discussion 发起一个通话

@remarks 通话管理

Return Value

呼出的通话实体

Discussion

发起一个通话

Declared In

RCCallClient.h

– isAudioCallEnabled:

当前会话类型是否支持音频通话

- (BOOL)isAudioCallEnabled:(RCConversationType)conversationType

Parameters

conversationType

会话类型 @discussion 当前会话类型是否支持音频通话

@remarks 通话设置

Return Value

是否支持音频通话

Discussion

当前会话类型是否支持音频通话

Declared In

RCCallClient.h

– isVideoCallEnabled:

当前会话类型是否支持视频通话

- (BOOL)isVideoCallEnabled:(RCConversationType)conversationType

Parameters

conversationType

会话类型 @discussion 当前会话类型是否支持视频通话

@remarks 通话设置

Return Value

是否支持视频通话

Discussion

当前会话类型是否支持视频通话

Declared In

RCCallClient.h

– setVideoProfile:

设置本地视频分辨率

- (void)setVideoProfile:(RCVideoProfile)profile

Parameters

profile

通话视频分辨率 @discussion 设置本地视频分辨率

@remarks 视频设置

Discussion

设置本地视频分辨率

Declared In

RCCallClient.h

– setVideoOrientation:

设置本地视频属性, 可用此接口设置本地视频方向

- (void)setVideoOrientation:(AVCaptureVideoOrientation)orientation

Parameters

orientation

视频方向, 默认: AVCaptureVideoOrientationPortrait @discussion 设置本地视频属性, 可用此接口设置本地视频方向

@remarks 视频设置

Discussion

设置本地视频属性, 可用此接口设置本地视频方向

Declared In

RCCallClient.h

– setBitRate:

设置码率

- (void)setBitRate:(NSUInteger)rate

Parameters

rate

码率 单位 kbps @discussion 设置码率

@remarks 视频设置

Discussion

设置码率

Declared In

RCCallClient.h

– setSignalServerDelegate:

设置外部信令服务器代理

- (void)setSignalServerDelegate:(id<RCCallSignalServerDelegate>)signalServerDelegate

Parameters

signalServerDelegate

外部信令服务器代理 @discussion 默认情况下 app 使用融云消息作为信令即可, 不需要设置此代理, 此时有个限制就是所有的通话必须在某一个会话中进行, 比如群组. 如果您需要摆脱会话的限制, 请使用 server api 服务实现本代理, 然后 startCall 时 conversationType 传 0, targetId 传 nil, calllib 会调用您设置的代理来发送消息. 请务必使用一个全局代理, 确保在拨打和接听 VoIP 的时候代理对象都存活, 这样才能确保正常通话.

@remarks 通话设置

Discussion

设置外部信令服务器代理

Declared In

RCCallClient.h

  currentCallSession

当前的通话会话实体

@property (nonatomic, strong, readonly, nullable) RCCallSession *currentCallSession

Discussion

当前的通话会话实体

Declared In

RCCallClient.h

  enableCallSummary

是否生成通话记录消息,默认为YES

@property (nonatomic, assign) BOOL enableCallSummary

Discussion

是否生成通话记录消息,默认为YES

Declared In

RCCallClient.h

  enableMultiPlatformMode

是否开启多平台模式,默认为NO

@property (nonatomic, assign) BOOL enableMultiPlatformMode

Discussion

是否开启多平台模式,默认为NO

Declared In

RCCallClient.h

– setApplePushKitEnable:

设置是否使用苹果 PushKit 推送

- (void)setApplePushKitEnable:(BOOL)enable

Parameters

enable

YES 使用, NO 不使用 @discussion 是否打开苹果 PushKit 推送, 该推送可以直接激活 App, 注: iOS 13 以后 PushKit 必须结合苹果 CallKit.framework 进行使用, 否则无法正常处理 VoIP 相关推送逻辑, 如果设置为 NO 则使用普通 APNS 消息推送来处理音视频信令逻辑, 默认关闭. 打开之后 App 默认需要自行处理 VoIP 推送唤起 CallKit.framework 的逻辑.

@remarks 通话设置

Discussion

设置是否使用苹果 PushKit 推送

Declared In

RCCallClient.h

+ getVersion

获取 SDK 版本号

+ (NSString *)getVersion

Return Value

版本号

@remarks 参数配置

Discussion

获取 SDK 版本号

Declared In

RCCallClient.h