初始化
更新时间:2025-08-01 04:10:32

初始化

SDK初始化参数.

@interface YealinkSDKInitParam 

[Required] 设置服务器的域,用来开始/加入会议
@property (nonatomic, copy, nullable) NSString *domain

[Optional] 是否打印日志
@property (nonatomic, assign) BOOL enableLog

[Optional] 设置资源bundle路径
@property (nonatomic, copy, nullable) NSString *bundleResPath

[Optional] 如果需要使用屏幕分享,我必须在苹果开发者账号里面创建group id,并在这里设置
@property (nonatomic, copy, nullable) NSString *appGroupId

[Optional] 如果需要使用屏幕分享,我必须在苹果开发者账号里面创建replaykit bundle identifier,并在这里设置
@property (nonatomic, copy, nullable) NSString *replaykitBundleIdentifier

意见反馈信息

@interface YealinkSDKFeedbackInfo

是否自动上传日志
@property (nonatomic, assign) BOOL withLog

意见反馈问题类型枚举
@property (nonatomic, assign) enum YealinkSDKFeedbackType type
  • 关联类型:

typedef NS_ENUM(NSUInteger, YealinkSDKFeedbackType) {
    /// 软件卡住或崩溃
    YealinkSDKFeedbackType_BUG,
    /// 画面模糊或卡顿
    YealinkSDKFeedbackType_VIDEO,
    /// 声音嘈杂或断续
    YealinkSDKFeedbackType_AUDIO,
    /// 体验差操作复杂
    YealinkSDKFeedbackType_SUGGESTION,
    /// 其他问题
    YealinkSDKFeedbackType_OTHER,
};

问题描述
@property (nonatomic, copy, nonnull) NSString *desc

联系方式
@property (nonatomic, copy, nonnull) NSString *contact

上传图片文件路径数组
@property (nonatomic, copy, nonnull) NSArray<NSString*> *pictures

SDK 初始化状态通知
- (void)onYealinkSDKInitStateChange:(SDKInitState)state
  • PARAMETERS:
NAME NOTERIPTION
state 初始化状态
  • 关联类型:

typedef NS_ENUM(NSInteger, SDKInitState) {
    SDKInitSuccess,
    SDKInitFailed
};

意见反馈进度回调
- (void)onSDKFeedbackProgress:(int)progress commitId:(int)commitId
  • PARAMETERS:
NAME NOTERIPTION
progress 进度百分比(如:30,30%).
commitId 意见反馈唯一Id标识.

意见反馈成功失败回调
- (void)onSDKFeedbackCommitFinish:(YealinkSDKFeedbackResponseType)status
  • PARAMETERS:
NAME NOTERIPTION
status 意见反馈提交回调枚举.
  • 关联类型:

typedef NS_ENUM(NSUInteger, YealinkSDKFeedbackResponseType) {
    /// 意见反馈图片过大
    YealinkSDKFeedbackResponseType_ImageTooLarge,
    /// 意见反馈提交失敗
    YealinkSDKFeedbackResponseType_Failed,
    /// 意见反馈提交成功
    YealinkSDKFeedbackResponseType_Success,
};

sdk鉴权回调
- (void)onYealinkSdkAuth:(BOOL)isSuccess errorCode:(int)errorCode
  • PARAMETERS:
NAME NOTERIPTION
isSuccess 鉴权是否成功.
errorCode 鉴权错误码.

SDK初始化

@interface YealinkSDK 

YealinkSDK服务器域,只读
@property (nonatomic, copy, readonly) NSString * _Nullable yealinkSDKDomain

YealinkSDK服务器端口,只读
@property (nonatomic, copy, readonly) NSString * _Nullable yealinkSDKPort

源bundle路径,只读
@property (nonatomic, copy, readonly) NSString * _Nullable yealinkSDKBundleResPath

鉴权appId,只读
@property (nonatomic, copy, readonly) NSString * _Nullable appId

鉴权secret,只读
@property (nonatomic, copy, readonly) NSString * _Nullable appSecret

SDK初始化
- (void)initSDK:(YealinkSDKInitParam * _Nonnull)initParam
  • PARAMETERS:
NAME NOTERIPTION
initParam SDK初始化参数, 参考[YealinkSDKInitParam]

设置服务器的域
  • 说明:在未登录状态下调用此接口
- (void)setDomain:(NSString * _Nonnull)domain port:(NSString * _Nonnull)port
  • PARAMETERS:
NAME NOTERIPTION
domain 服务器地址 必填
port 服务器端口号 可选

获取SDK版本号
- (NSString * _Nonnull)sdkVersion
  • RETURN VALUE:
TYPE NOTERIPTION
NSString SDK版本号

SDK是否初始化
  • 说明:未初始化则无法正常使用功能
- (BOOL)isSDKInit
  • RETURN VALUE:
TYPE NOTERIPTION
BOOL SDK是否初始化

通知SDK应用程序将要进入Background状态
  • 说明:必须调用在AppDelegate调用方法 "- (void)applicationDidEnterBackground:(UIApplication *)application".
- (void)applicationDidEnterBackground

通知SDK应用程序将要进入Active状态
  • 说明:必须调用在AppDelegate调用方法 "- (void)applicationDidBecomeActive:(UIApplication *)application".
- (void)applicationDidBecomeActive

通知SDK应用程序将要进入Terminate状态
  • 说明:必须调用在AppDelegate调用方法 "- (void)applicationWillTerminate:(UIApplication *)application".
- (void)applicationWillTerminate

获取账号服务实例对象
- (YealinkSDKAccountService *_Nullable)getAccountService
  • RETURN VALUE:
TYPE NOTERIPTION
YealinkSDKAccountService 账号服务实例
  • 关联类型:

@interface YealinkSDKAccountService : NSObject

@property (nonatomic, weak) id <YealinkSDKAccountServiceDelegate> delegate;

- (BOOL)isLoggedIn;

/**
 @brief 登录用户账号

 @param param 登录参数,包含账号、密码、服务器域名
 @link YealinkLoginParam
 @note 设置rememberMe为YES下次重启应用无需重新登录,会自动登录
*/
- (void)login:(YealinkLoginParam *)param;

/**
 @brief appId登录用户账号
 @param param AppId用的参数
 @link YealinkAppIdLoginParam
*/
- (void)appIdLogin:(YealinkAppIdLoginParam *)param;

/**
 @brief sso登录用户账号
 @param ssoNodeList sso登录协议的参数,不同的协议传参不同,如Oauth2.0/OIDC协议应该传参partyId、clientType、code
 @param thirdPartyDomain sso登录第三方企业域名
 @link YealinkSsoLoginNode
 */
- (void)ssoLogin:(NSArray<YealinkSsoLoginNode *> *)ssoNodeList thirdPartyDomain:(NSString *)thirdPartyDomain;

/*!
 @brief 获取登录用户信息
 @return YealinkSDKAccountInfo 登录用户信息
 @note 已登录用户才能获取到对应信息
 */
- (nullable YealinkSDKAccountInfo *)getAccountInfo;

/**
@brief 登出用户账号
*/
- (void)logout;

/**
@brief 获取企业信息是否有单租户
 
@note 设置后会有onRequestServiceFeature委托是否成功
*/
- (void)requestServiceFeature;

/**
@brief 设置企业号/域账号,并验证企业信息(仅第三方登录用)
 
@param domain 企业号/域账号
@note 设置后会有onRequestThirdPartyInfo委托是否成功
*/
- (void)requestThirdPartyInfo:(NSString *)domain;

/**
@brief 企业号/域账号登录(第三方登录)

@param thirdAccount 企业号/域账号
@param thirdPassword 企业号/域账号 密码
@param rememberMe 是否记住账号,自动登录
@note 设置后会有onThirdPartyLogin委托是否成功;
      设置rememberMe为YES下次重启应用无需重新登录,会自动登录
*/
- (void)thirdPartyInfo:(NSString *)thirdAccount password:(NSString *)thirdPassword rememberMe:(BOOL)rememberMe;

/**
@brief 授权码登录

@param authCode 授权码
@note 登录回调YealinkSDKAccountServiceDelegate,授权码失败返回onHandleError委托
*/
- (void)authCodeLogin:(NSString *)authCode;

@end

获取会议服务实例对象
- (YealinkSDKMeetingService *_Nullable)getMeetingService
  • RETURN VALUE:
TYPE NOTERIPTION
YealinkSDKMeetingService 会议服务实例
  • 关联类型:

@interface YealinkSDKMeetingService : NSObject

@property (nonatomic, weak) id <YealinkSDKMeetingServiceDelegate> delegate;

@property (nonatomic, weak) id <YealinkSDKShareMenuUIDelegate> shareMenuUIDelegate;

/**
@brief 会议底部菜单栏
@note 不设置该代理时,会使用默认底部栏实现;如果实现了该代理没有实现,底部栏不显示
*/
@property (nonatomic, weak) id <YealinkSDKBottomMenuUIDelegate> bottomMenuUIDelegate;

/**
@brief 会议更多菜单栏
@note 不设置该代理时,会使用默认底部栏实现;如果实现了该代理没有实现,底部栏不显示
*/
@property (nonatomic, weak) id <YealinkSDKMoreMenuUIDelegate> moreMenuUIDelegate;

/**
 @brief 开始会议
 @param param 开始会议参数
 @link YealinkSDKStartMeetingParam
 */
- (void)startMeetingWithParam:(YealinkSDKStartMeetingParam *)param;

/**
 @brief 加入会议
 @param param 加入会议参数
 */
- (void)joinMeetingWithParam:(YealinkSDKJoinMeetingParam *)param;

/**
 @brief 设置自定义通话视图参数
 @note 在meetingCustomTalkVCEnable设置为YES的情况下,设置此参数才有效
 @param param 加入会议参数
 @link YealinkSDKMeetingCustomTalkVCParam
 */
- (void)setMeetingCustomTalkVCParam:(YealinkSDKMeetingCustomTalkVCParam *)param;

/**
@brief 离开会议
*/
- (void)leaveMeeting;

/**
@brief 结束会议
*/
- (void)endMeeting;

/**
@brief 邀请会议成员
@note 邀请地址簿中的成员,参数是联系人ID,contactId需要从联系人模块获取,是一个联系人的唯一识别ID
@param contactIdArray 联系人ID数组
*/
- (void)inviteMeetingUserWithContactIdArray:(NSArray<NSString *> *)contactIdArray;

/**
@brief 邀请会议成员
@note 参数是account账号数组,是一个账号的唯一识别ID
@param accountArray 账号数组
*/
- (void)inviteMeetingUserWithAcountArray:(NSArray<NSString *> *)accountArray;

/*!
 @brief 获取会议信息
 @return YealinkSDKMeetingInfo 会议信息
 */
- (YealinkSDKMeetingInfo *)getMeetingInfo;

/*!
 @brief 无登录入会
 @link YealinkJoinMeetingWithoutLoginParam
 */
- (void)joinMeetingWithoutLogin:(YealinkJoinMeetingWithoutLoginParam *)param;

/*!
 @brief 获取会议记录列表
 */
- (void)getMeetingHistoryList;

/*!
 @brief 加入邀请会议
 @param invite 会议邀请信息
 @link YealinkSDKMeetingInvite
 */
- (void)joinMeetingWithInvite:(YealinkSDKMeetingInvite *)invite;

/*!
 @brief 拒绝加入邀请的会议
 @param invite 会议邀请信息
 */
- (void)rejectMeetingInvite:(YealinkSDKMeetingInvite *)invite;

/*!
 @brief 打开浮窗模式,收起会议画面
 */
- (void)showFloatWindow;

/*!
 @brief 切换会议画面横竖屏
 */
- (void)switchMeetingOrientation;

/*!
 @brief 获取输出音频设备
 @return YealinkSDKAudioDeviceType 输出音频设备
 */
- (YealinkSDKAudioDeviceType)getCurrentAudioDevice;

/*!
 @brief 选择要使用的扬声器设备
 @param outputType 扬声器设备类型
 @link YealinkSDKAudioOutputType
 */
- (void)setCurrentSpeaker:(YealinkSDKAudioOutputType)outputType;

/*!
 @brief 修改麦克风静音状态
 @param mute 是否静音或解静音
 @note 返回onMuteAudio回调
 */
- (void)muteAudio:(BOOL)mute;


/*!
 @brief 获取发言模式
 @return YealinkSDKMeetingSpeakingMode 发言模式枚举
 */
- (YealinkSDKMeetingSpeakingMode)getCurrentSpeakMode;

/*!
 @brief 获取当前会议配置
 @return YealinkSDKMeetingConfig 会议配置
 */
- (YealinkSDKMeetingConfig *)getMeetingConfig;

/*!
 @brief 开启/关闭举手发言
 @param speakMode 发言模式枚举 YealinkSDKMeetingSpeakingMode
 @param complete 完成回调
 @link YealinkSDKMeetingSpeakingMode
 */
- (void)setSpeakingMode:(YealinkSDKMeetingSpeakingMode)speakMode
        completionBlock:(void(^)(BOOL success, NSString * errorMesage, int32_t errorCode))complete;

/*!
 @brief 是否允许发言
 @param userId 成员userId
 @param permit 是否允许,true为允许,false为不允许
 */
- (void)replyHandUp:(int)userId permit:(BOOL)permit;

/*!
 @brief 获取通话统计
 @link YealinkSDKMeetingQualityStatisticInfo
 */
- (void)getMeetingQualityStatisticInfo: (void(^)(YealinkSDKMeetingQualityStatisticInfo *info))complete;

/*!
 @brief 设置设备信息
 @param deviceInfo 设备信息
 */
- (void)setMeetingSignalDeviceInfo:(NSString *)deviceInfo;

/*!
 @brief 停止共享辅流
 */
- (void)stopShareScreen;

/*!
 @brief 共享辅流
 */
- (void)shareScreen;

/*!
 @brief 开始云端录制
 */
- (void)startCloudRecord;

/*!
 @brief 停止云端录制
 */
- (void)stopCloudRecord;

/*!
 @brief 根据记录ID删除会议历史记录
 */
- (void)deleteMeetingRecordByRecordId:(int)recordId;

/*!
 @brief 删除所有会议历史记录
 */
- (void)clearAllMeetingRecord;

/**
 @brief 加入第三方会议
 @param param 加入第三方会议参数
 @link YealinkSDKJoinThirdPartyMeetingParam
 */
- (void)joinThirdPartyMeetingWithParam:(YealinkSDKJoinThirdPartyMeetingParam *)param;

/**
@brief 弹出聊天界面
*/
- (void)popupChatVC;

@end

获取协作批注服务实例对象
- (YealinkSDKAnnotationService *_Nullable)getAnnotationService
  • RETURN VALUE:
TYPE NOTERIPTION
YealinkSDKAnnotationService 协作批注服务实例
  • 关联类型:

@interface YealinkSDKAnnotationService : NSObject

/*!
 @brief 开始批注
 */
- (void)startAnnotation;

/*!
 @brief 停止批注
 */
- (void)stopAnnotation;

/*!
 @brief 发起共享白板
 */
- (void)openWhiteBoard;

/*!
 @brief 停止共享白板
 */
- (void)closeWhiteBoard;

/*!
 @brief 设置隐藏批注栏
 @param isHidden 是否隐藏
 */
- (void)setAnnotationBarHidden:(BOOL)isHidden;

/*!
 @brief 获取批注工具栏隐藏状态
 @return BOOL 返回批注工具栏隐藏状态
 */
- (BOOL)isAnnotationBarHidden;

/*!
 @brief 设置批注入口隐藏
 @param isHidden 是否隐藏
 */
- (void)setMeetingAnnotationSideBarViewHidden:(BOOL)isHidden;

/*!
 @brief 获取批注入口隐藏状态
 @return BOOL 返回批注入口隐藏状态
 */
- (BOOL)isMeetingAnnotationSideBarViewHidden;

/*!
 @brief 清除批注
 @param clearType 清除类型
 @link YealinkSDKAnnotationClearType
 */
- (void)clearAnnotationWithClearType:(YealinkSDKAnnotationClearType)clearType;

/*!
 @brief 设置批注模式
 @param mode 批注模式
 @link YealinkSDKAnnotationInputMode
 */
- (void)setAnnotationModeWithMode:(YealinkSDKAnnotationInputMode)mode;

/*!
 @brief 设置画笔颜色
 @param colorType 画笔颜色类型
 @link YealinkSDKBrushColorType
 */
- (void)setPenColorWithColorType:(YealinkSDKBrushColorType)colorType;

/*!
 @brief 设置画笔粗细类型
 @param sizeType 画笔粗细类型
 @link YealinkSDKBrushSizeType
 */
- (void)setPenSizeWithSizeType:(YealinkSDKBrushSizeType)sizeType;

/*!
 @brief 撤销
 */
- (void)undo;

/*!
 @brief 重做
 */
- (void)redo;

/*!
 @brief 保存图片
 @param path 图片文件保存路径,路径需要带文件名,后缀是 “.jpeg”
 */
- (void)saveAnnotationImageWithPath:(NSString *)path;


@end

获取鉴权服务实例对象
- (YealinkSDKAuthService *_Nullable)getAuthService
  • RETURN VALUE:
TYPE NOTERIPTION
YealinkSDKAuthService 鉴权服务实例
  • 关联类型:

@interface YealinkSDKAuthService : NSObject

@property (nonatomic, copy, nullable) NSString *appId;

@property (nonatomic, copy, nullable) NSString *appSecret;

/**
 @brief 通过使用在Yealink开发平台申请的appID,appSecret进行鉴权
 
 @param appID 申请得到的appID
 @param appSecret 申请得到的密钥
 @note 请保证appID、appSecret与bundle ID相对应,否则将导致认证失败,无法使用SDK提供的功能
 */
- (void)SDKAuthWithAppID:(NSString *)appID appSecret:(NSString *)appSecret;

@end

获取会议设置实例对象
- (YealinkSDKMeetingSettings *_Nullable)getMeetingSettings
  • RETURN VALUE:
TYPE NOTERIPTION
YealinkSDKMeetingSettings 会议设置实例
  • 关联类型:

@interface YealinkSDKMeetingSettings : NSObject

/*!
 @brief 是否隐藏顶部的会议信息.
 */
@property (nonatomic, assign) BOOL meetingTitleHidden;

/*!
 @brief 是否隐藏顶部操作栏.
 */
@property (nonatomic, assign) BOOL meetingTopBarHidden;

/*!
 @brief 是否隐藏底部操作栏.
 */
@property (nonatomic, assign) BOOL meetingBottomBarHidden;

/*!
 @brief 是否支持自己操作音频。若无,则通话界面底部操作了和成员列表界面中的音频图标隐藏.
 */
@property (nonatomic, assign) BOOL meetingAudioHidden;

/*!
 @brief 是否支持自己操作视频。若无,则通话界面底部操作了和成员列表界面中的视频图标隐藏.
 */
@property (nonatomic, assign) BOOL meetingVideoHidden;

/*!
 @brief 支持设置是否有共享功能,若无则入口隐藏.
 */
@property (nonatomic, assign) BOOL meetingShareHidden;

/*!
 @brief 支持设置是否有成员列表功能,若无则入口隐藏.
 */
@property (nonatomic, assign) BOOL meetingParticipantHidden;

/*!
 @brief 是否是隐藏更多按钮,若无则入口隐藏.
 */
@property (nonatomic, assign) BOOL meetingMoreHidden;

/*!
 @brief 支持设置是否有会议设置功能,若不支持,更多中的会议设置按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingSettingDisable;

/*!
 @brief 设置是否支持云端录制功能,若不支持入口隐藏.
 */
@property (nonatomic, assign) BOOL meetingRecordDisable;

/*!
 @brief 支持设置单个成员本地录制,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingParticipantLocalRecordHidden;

/*!
 @brief 支持设置是否有聊天功能,若不支持,整个聊天功能屏蔽.
 */
@property (nonatomic, assign) BOOL meetingChatDisable;

/*!
 @brief 支持设置是否有设置聊天功能权限的功能,若无则图示全部隐藏.
 */
@property (nonatomic, assign) BOOL meetingChatPermissionDisable;

/*!
 @brief 支持设置是否有设置以会者改名的功能,若无则图示全部隐藏.
 */
@property (nonatomic, assign) BOOL meetingAttendeeModifyNameDisable;

/*!
 @brief 支持设置是否支持成员列表功能,若不支持则隐藏.
 */
@property (nonatomic, assign) BOOL meetingMemberListDisable;

/*!
 @brief 支持设置是否支持邀请功能,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingInviteDisable;

/*! 
 @brief 是否支持画廊模式.
 @note 画中画布局和画廊布局至少选择一种,否则切换画面布局的时候将没有选项,且默认为画中画布局
 */
@property (nonatomic, assign) BOOL meetingGalleryViewDisable;

/*!
 @brief 是否支持画中画模式.
 @note 画中画布局和画廊布局至少选择一种,否则切换画面布局的时候将没有选项,且默认为画中画布局
 */
@property (nonatomic, assign) BOOL meetingPictureInPictureViewDisable;

/*!
 @brief 支持设置单个成员操作静音/解除静音,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingParticipantAudioMuteHidden;

/*!
 @brief 支持设置单个成员操作打开摄像头/关闭摄像头,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingParticipantViedoMuteHidden;

/*!
 @brief 支持设置单个成员操作设为焦点,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingParticipantSetFocusHidden;

/*!
 @brief 支持设置单个成员操作设为角色,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingParticipantSetRoleHidden;

/*!
 @brief 支持设置单个成员操作移至等候室,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingParticipantSetLobbyHidden;

/*!
 @brief 支持设置单个成员操作移除会议,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingParticipantRemoveHidden;

/*!
 @brief 支持设置单个成员操作私聊,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingParticipantPrivateChatHidden;

/*!
 @brief 支持设置单个成员操作改名,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingParticipantSetNameHidden;

/*!
 @brief 支持设置复制功能,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingInviteCopyHidden;

/*!
 @brief 支持设置邀请其他终端功能,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingInviteOtherHidden;

/*!
 @brief 是否隐藏会议界面的时间显示.
 */
@property (nonatomic, assign) BOOL meetingTimeHidden;

/*!
 @brief 是否隐藏会议界面的网络质量显示.
 */
@property (nonatomic, assign) BOOL meetingNetQualityHidden;

/*!
 @brief 是否开启自定义通话界面
 */
@property (nonatomic, assign) BOOL meetingCustomTalkVCEnable;

/*!
 @brief 支持邀请企业联系人功能,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingInviteContactDisable;

/*!
 @brief 支持隐藏成员停止共享功能,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingParticipantShareHidden;

/*!
 @brief 支持禁用新成员入会功能,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingNewParticipantJoinDisable;

/*!
 @brief 支持禁用启用等候室功能,若不支持则按钮隐藏.
 */
@property (nonatomic, assign) BOOL meetingWaitingRoomDisable;

/*!
 @brief 支持禁用共享屏幕功能,若不支持则隐藏.
 */
@property (nonatomic, assign) BOOL meetingShareScreenDisable;

/*!
 @brief 支持禁用批注权限功能,若不支持则隐藏.
 */
@property (nonatomic, assign) BOOL meetingNotePermissionDisable;

/*!
 @brief 支持禁用发言需举手申请,若不支持则隐藏.
 */
@property (nonatomic, assign) BOOL meetingHandsUpToSpeakDisable;

/*!
 @brief 支持禁用入会时禁音功能,若不支持则隐藏.
 */
@property (nonatomic, assign) BOOL meetingAutoMuteWhenJoinDisable;

/*!
 @brief 支持禁用全体禁音功能,若不支持则隐藏.
 */
@property (nonatomic, assign) BOOL meetingMuteAllMicDisable;

/*!
 @brief 支持禁用解除全员禁音功能,若不支持则隐藏.
 */
@property (nonatomic, assign) BOOL meetingRemoveAllMuteDisable;

/*!
 @brief 支持禁用更多功能,若不支持则隐藏.
 */
@property (nonatomic, assign) BOOL meetingMoreDisable;

/*!
 @brief 是否自动打开麦克风.
 */
@property (nonatomic, assign) BOOL enableMicOnMeetingEntry;

/*!
 @brief 是否自动打开摄像头.
 */
@property (nonatomic, assign) BOOL enableCameraOnMeetingEntry;

/*!
 @brief 是否始终显示会议控制栏.
 */
@property (nonatomic, assign) BOOL enableAutoHideControlBar;

/*!
 @brief 是否加入会议跳过视频预览.
 */
@property (nonatomic, assign) BOOL enableSkipPreviewWhenJoinMeeting;

/*!
 @brief 是否立即会议跳过视频预览.
 */
@property (nonatomic, assign) BOOL enableSkipPreviewWhenCreateMeeting;

/*!
 @brief 设置会议聊天权限
 @note 仅当前会议生效
 @link YealinkSDKMeetingChatType
 */
- (void)setMeetingChatType:(YealinkSDKMeetingChatType)type;

/*!
 @brief 是否隐藏邀请会议弹框.
 */
@property (nonatomic, assign) BOOL meetingEnableHideInviteAlert;

/*!
 @brief 是否禁止新成员入会
 */
@property (nonatomic, assign) BOOL meetingLock;

/*!
 @brief 与会者是否允许共享屏幕
 */
@property (nonatomic, assign) BOOL participantsShareEnable;

/*!
 @brief 与会者是否允许聊天
 */
@property (nonatomic, assign) BOOL participantsChatEnable;

/*!
 @brief 与会者是否允许改名
 */
@property (nonatomic, assign) BOOL participantsRenameEnable;

/*!
 @brief 新成员入会是否自动静音
 */
@property (nonatomic, assign) BOOL autoMuteWhenJoinEnable;

/*!
 @brief 获取是否开启始终显示会议控制栏
 */
@property (nonatomic, assign) BOOL alwaysShowMeetingControlBar;

/*!
 @brief 是否显示小窗口
 */
@property (nonatomic, assign) BOOL showMiniWindow;

/*!
 @brief 获取会议聊天提示方式  true为弹幕,false为气泡
 */
@property (nonatomic, assign) BOOL meetingChatTipWay;

/*!
 @brief 启用或者关闭等候室
 */
@property (nonatomic, assign) BOOL waitingRoomEnable;

/*!
 @brief 是否隐藏会议来电邀请人
 */
@property (nonatomic, assign) BOOL meetingAlertInviterHidden;

/*!
 @brief 是否启用语音转写服务
 */
@property (nonatomic, assign) BOOL isAsrServiceEnable;

/*!
 @brief 是否隐藏语音转写Panel
 */
@property (nonatomic, assign) BOOL isAsrServicePanelHidden;
/*!
 @brief 是否开启会议水印
 */
@property (nonatomic, assign) BOOL meetingWaterMarkEnable;

/*!
 @brief 是否开启暗场景增强
 */
@property (nonatomic, assign) BOOL darkEnhanceEnable;

/*!
 @brief 是否开启高清画质功能
 */
@property (nonatomic, assign) BOOL highQualityVideoEnable;

/*!
 @brief 是否开启美颜
 */
@property (nonatomic, assign) BOOL videoBeautificationEnable;

/*!
 @brief 是否开启虚拟背景
 */
@property (nonatomic, assign) BOOL virtualBackgroundEnable;

/*!
 @brief 是否显示麦克风浮窗
 */
@property (nonatomic, assign) BOOL meetingMicFloatingButtonHidden;

/*!
 @brief 是否显示弹幕聊天
 */
@property (nonatomic, assign) BOOL meetingBulletChatViewHidden;

/*!
@brief 入会成员页邀请弹窗邀请企业成员选项文本
*/
@property (nonatomic, copy) NSString *meetingInviteContactContent;

/*!
 @brief 设置美颜等级
 @note 美颜等级(0~100)
 */
- (void)setVideoBeautificationLevel:(NSUInteger)leavel;

/*!
 @brief 获取设置美颜等级
 */
- (NSUInteger)getVideoBeautificationLevel;

/*!
 @brief 支持设置背景替换的图片
 @note 图片路径,设置path为空,关闭背景替换
 */
- (void)setVirtualBackgroundFile:(NSString *)path;

@end

获取通话服务实例对象
- (YealinkSDKCallService *_Nullable)getCallService
  • RETURN VALUE:
TYPE NOTERIPTION
YealinkSDKCallService 通话服务实例
  • 关联类型:

@interface YealinkSDKCallService : NSObject

/*!
 @brief 通话代理
 */
@property (nonatomic, weak) id <YealinkSDKCallServiceDelegate> delegate;

/*!
 @brief 头像拦截代理
 */
@property (nonatomic, weak) id <YealinkSDKHeadPortraitApiHandler> apiHander;

/**
@brief 通话底部菜单栏
@note 不设置该代理时,会使用默认底部栏实现;如果实现了该代理没有实现,底部栏不显示
*/
@property (nonatomic, weak) id <YealinkSDKCallBottomMenuUIDelegate> bottomMenuUIDelegate;

/**
@brief 通话更多菜单栏
@note 不设置该代理时,会使用默认底部栏实现;如果实现了该代理没有实现,底部栏不显示
*/
@property (nonatomic, weak) id <YealinkSDKCallMoreMenuUIDelegate> moreMenuUIDelegate;

/**
@brief 发起通话(默认为音频通话)
@param number 通话号码
*/
- (void)dial:(NSString *)number;

/**
@brief 发起视频通话
@param number 通话号码
@note 发起视频通话前提是要开启phoneVideoCallEnable配置
*/
- (void)dialByVideo:(NSString *)number;

/**
@brief 挂断通话
*/
- (void)hangUp;

/**
 @brief 查询通话记录
 @param type 查询通话记录参数
 @link YealinkSDKCallHistoryType
 @note async异步接口,接受YealinkSDKCallServiceDelegate回调:onCallHistoryListResult:result:
*/
- (void)getCallHistoryList:(YealinkSDKCallHistoryType)type;

/**
@brief 查询通话记录详情
@param recordId 查询通话记录参数
@note async异步接口,接受YealinkSDKCallServiceDelegate回调:onCallHistoryDetailResult:result:
*/
- (void)getCallHistoryDetailByRecordId:(NSString *)recordId;

/**
@brief 删除通话记录
@param recordId 查询通话记录参数
*/
- (void)deleteCallHistory:(NSString *)recordId;

/**
@brief 清除通话记录
*/
- (void)clearCallHistoryList;

/**
@brief 设置DND状态
@param minutes 设置DND的时长
*/
- (void)setDndActivityTimeForMinutes:(NSInteger)minutes;

/**
@brief 取消dnd状态
*/
- (void)cancelCurrentDndActivity;

/**
@brief 保持
*/
- (void)hold;

/**
@brief 转接
@param number 转接目标方号码
*/
- (void)setPhoneTransferNumber:(NSString *)number;

/**
 @brief 发起通话翻转
 @param callFlipInfo 通话翻转信息
 @link YealinkSDKCallFlipInfo
*/
- (void)makeCallFlip:(YealinkSDKCallFlipInfo *)callFlipInfo;

/**
 @brief 获取通话翻转信息列表
 @return NSArray<YealinkSDKCallFlipInfo*> 通话翻转信息列表
 */
- (NSArray<YealinkSDKCallFlipInfo *> *)getCallFlipInfoList;

/**
@brief 接起通话
@param enableVideo 是否为视频接起
*/
- (void)answerCall:(BOOL)enableVideo;

/**
@brief 获取是否达到最大通话数
@return BOOL 是否达到最大通话数
*/
- (BOOL)isInMaxCallsCount;

/**
@brief 显示来电建立界面
@note 当隐藏来电界面时,在收到onConnected后调用,用于显示通话建立界面
*/
- (void)showPhoneCallWindow;

@end

获取通话设置实例对象
- (YealinkSDKCallSettings *_Nullable)getCallSettings
  • RETURN VALUE:
TYPE NOTERIPTION
YealinkSDKCallSettings 通话设置实例
  • 关联类型:

@interface YealinkSDKCallSettings : NSObject

/*!
 @brief 是否支持视频通话.
 @note 默认为不支持视频通话.
 */
@property (nonatomic, assign) BOOL phoneVideoCallEnable;

/*!
 @brief 是否显示P2P通话中统计图标.
 */
@property (nonatomic, assign) BOOL phoneStatisticsHidden;

/*!
 @brief 是否显示P2P通话通话时长.
 */
@property (nonatomic, assign) BOOL phoneDurationHidden;

/*!
 @brief 是否显示P2P通话中加密图标.
 */
@property (nonatomic, assign) BOOL phoneEncryptHidden;

/*!
 @brief 是否显示P2P通话中最小化图标.
 */
@property (nonatomic, assign) BOOL phoneShrinkHidden;

/*!
 @brief 是否隐藏P2P通话中名片.
 */
@property (nonatomic, assign) BOOL phoneCardHidden;

/*!
 @brief 是否隐藏P2P通话中名片岗位.
 */
@property (nonatomic, assign) BOOL phoneCardJobHidden;

/*!
 @brief 是否显示P2P去电联系人岗位.
 */
@property (nonatomic, assign) BOOL phoneCallOutJobHidden;

/*!
 @brief 是否显示P2P去电提示语.
 */
@property (nonatomic, assign) BOOL phoneCallOutTipHidden;

/*!
 @brief 是否显示P2P来电联系人岗位.
 */
@property (nonatomic, assign) BOOL phoneCallInJobHidden;

/*!
 @brief 是否显示P2P来电提示语.
 */
@property (nonatomic, assign) BOOL phoneCallInTipHidden;

/*!
 @brief 是否支持设置自动接听通话.
 */
@property (nonatomic, assign) BOOL autoPickUpComing;

/*!
 @brief 视频通话是否以视频方式自动接起.
 @note 设置为No则以语音通话自动接起
 */
@property (nonatomic, assign) BOOL autoPickUpPhoneByVideo;

/*!
 @brief 去电提示.
 */
@property (nonatomic, copy) NSString *phoneCallOutTipContent;

/*!
 @brief 来电提示.
 */
@property (nonatomic, copy) NSString *phoneCallInTipContent;

/*!
 @brief 是否隐藏来电界面.
 */
@property (nonatomic, assign) BOOL phoneIncomingDialogHidden;

@end

提交意见反馈
  • 说明:异步调用,回调YealinkSDKDelegate.
- (void)commitFeedback:(YealinkSDKFeedbackInfo * _Nonnull)feedbackInfo
  • PARAMETERS:
NAME NOTERIPTION
feedbackInfo 意见反馈信息参数

设置APNS推送token
- (void)setApnsToken:(NSString * _Nonnull)token
  • PARAMETERS:
NAME NOTERIPTION
token 获取的token

打开会议微信分享
  • 说明:回调YealinkSDKMeetingServiceDelegate:onWechatContent
- (void)shareToWechat:(BOOL)isOn
  • PARAMETERS:
NAME NOTERIPTION
isOn YES打开,NO不打开

获取日志存储路径
  • 说明:需要初始化之后调用
- (NSString * _Nonnull)getLogPath

本页目录