DYEntireRealTimeSDK 0.0.2

DYEntireRealTimeSDK 0.0.2

jackleemeta 维护。



 
依赖
CocoaLumberjack/Swift= 3.6.1
设备>= 0
CocoaMQTT= 1.1.3
TXLiteAVSDK_TRTC= 7.2.8961
TXIMSDK_iOS= 4.7.2
AgoraRtcEngine_iOS= 2.9.0.105
 

  • jack lee

DYRealTimeSDK

简介

DYRealTimeSDK(实时音视频SDK)

本SDK封装了多厂商的音视频SDK相应的即时通讯SDK

  1. 简化和统一了各厂商服务注册和接口调用方式
  2. 支持在各厂商SDK之间安全、高效地调度(目前支持声网、腾讯)
  3. 多条通道并行发送自定义消息和消息去重
  4. 封装了日志模块(厂商日志,自定义日志,DDLog),用于数据追踪和后续分析
  5. 解决多SDK引入和编译问题

集成的SDK列表:

  • MQTT(MQTT SDK)- 常驻
  • TIM(腾讯即时通讯SDK)- 常驻
  • TXLiteAVSDK_TRTC(腾讯音视频SDK)
  • AgoraRtcEngine_iOS(声网音视频SDK)
  • AgoraSignal(声网即时通讯SDK)
  • 日志模块(基于CocoaLumberjack/Swift

Carthage引入

  • 业务路径新建Cartfile,编辑
git "https://github.com/jackleemeta/DYEntireRealTimeSDK.git"  >= 0.0.1

需要手动引入MQTT等依赖库

CocoaPods 引入(推荐)

引入

  • 编辑podfile,添加source
source 'https://cdn.cocoapods.org'
  • 依赖方式(任选其一)
  1. 框架依赖(推荐)
pod 'DYEntireRealTimeSDK'
或
pod 'DYEntireRealTimeSDK/Framework'
  1. 源码依赖
pod 'DYEntireRealTimeSDK/Source'
  • 注意:pod install优先本地缓存

使用

  • 导入

    • 框架依赖方式 - 导入:DYRealTimeSDK
    • 源码依赖 - 导入:DYEntireRealTimeSDK
  • Init

var auth = DYRealTimeSDKAuthenticationConfig()
var setting = DYRealTimeSettingConfig()
var user = DYRealTimeSDKUserConfig()

var mqttConfig = DYRealTimeSettingConfig.DYMQTTConfig()
setting.mqttConfig = mqttConfig

realTimeSDK = DYRealTimeSDK(sdk: .agora,
                            authenticationConfig: auth,
                            settingConfig: setting,
                            userConfig: user,
                            delegate: self)
  • engine
realTimeSDK?.engine()
  • 注册协议
extension Registrant: DYRealTimeSDKProtocol {}
  • 发送消息
realTimeSDK?.sendMessage(msgId: msgId, msg: msg, receiverIds: [receiverId], topic: topic)
  • 切换SDK
realTimeSDK?.switch(to: sdk, 
                    with: auth,
                    switchedCallBack: { isSuccess in
                       if !isSuccess { return }
                       //code
                    })

  • 切换房间
realTimeSDK?.switch(to: user, 
                    switchedCallBack: { isSuccess in
                       if !isSuccess { return }
                       //code
                    })
  • SDK主动销毁
  1. 统一处理:
  • mqtt断开连接
  • TIM登出
  1. 各个模式下的处理

声网模式:

AgoraRtcEngine_iOS登出、销毁SDK

AgoraSignalSDK登出、销毁SDK

腾讯模式:

TRTC登出、销毁SDK

realTimeSDK?.destroy(callBack:)
  • 设置SDK日志路径
DYRealTimeSDK.setLogFilePath(path)
  • 获取SDK日志Logger - DDFileLogger
DYRealTimeSDK.ddFileLogger
  • 获取【子SDK - Agora】日志路径
DYRealTimeSDK.sortedAgoraLogFileInfos
  • 获取【子SDK - TRTC】日志路径
DYRealTimeSDK.sortedTRTCLogFileInfos

当前三方音视频SDK版本

  • AgoraRtcEngine_iOS(2.3.4.108)
  • TXLiteAVSDK_TRTC(7.2.8961)