客户端全功能 API 参考

更新时间不可用

本页提供声网灵隼客户端 iOS API 参考。

类描述
IAgoraIotAppSdk提供总的服务接口,各子功能通过 getInstance 方法获取
IAccountMgr账号注册、登录与登出
ICallkitMgr来电呼叫管理,包括拨号、接听、挂断等
IDeviceMgr设备管理接口,包括设备绑定、设备解绑、设备列表查询、设备分享管理等
IDeviceMgrCallback设备管理事件
IAlarmMgr设备告警信息管理,包括移动侦察、有人经过等
INotificationMgr设备系统信息管理,包括设备上线、下线、绑定、解绑等事件管理
INotificationMgrCallback设备系统信息管理事件
ErrCodeIot SDK 在使用过程中的报错信息
表格内容超出当前宽度,可横向滚动查看更多列。

IAgoraIotAppSdk

SDK 引擎接口。

getMqttIsConnected

Swift
func getMqttIsConnected() -> Bool

获取当前 MQTT(消息队列遥测传输协议)模块的连接状态。

返回

  • true: 已连接。
  • false: 已断开连接。

initialize

Swift
func initialize(initParam: InitParam,sdkStatus:@escaping(SdkStatus,String)->Void,callbackFilter:@escaping(Int,String)->(Int,String)) -> Int

初始化 SDK。

参数

参数描述
initParamSDK 初始化参数,详见 InitParam。
sdkStatusSDK 状态,详见 SdkStatus。
callbackFilter回调函数返回错误码/错误消息的集中过滤。所有带有 result 回调的接口,都会在调用 result 回调前触发该回调,返回 (ErrCode,ErrMessage)。
表格内容超出当前宽度,可横向滚动查看更多列。

release

Swift
func release()

释放 SDK 所有资源。

accounrMgr

Swift
var accountMgr: IAccountMgr{get}

获取账号管理接口。

返回

callkitMgr

Swift
var callkitMgr: ICallkitMgr{get}

获取呼叫系统接口。

返回

deviceMgr

Swift
var deviceMgr: IDeviceMgr{get}

获取设备管理接口。

返回

alarmMgr

Swift
var alarmMgr: IAlarmMgr{get}

获取告警信息管理接口。

返回

notificationMgr

Swift
var notificationMgr: INotificationMgr{get}

获取通知信息管理接口。

返回

IAccountMgr

账号管理接口。

logout

Swift
func logout(result:@escaping (Int,String)->Void)

登出当前账号。

返回

getUserId

Swift
func getUserId()->String

获取当前用户 ID。

返回

  • user ID。

  • 错误码,详见 ErrCode。

getAccountInfo

Swift
func getAccountInfo(result:@escaping(Int,String,AccountInfo?)->Void)

获取当前用户账号信息。

返回

  • 账户信息,类型为 AccountInfo。

  • 错误码,详见 ErrCode。

updateAccountInfo

Swift
func updateAccountInfo(info:AccountInfo,result:@escaping(Int,String)->Void)

更新当前用户账号信息。

参数

参数描述
infoAccountInfo 类型的账号信息。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

updateHeadIcon

Swift
func updateHeadIcon(image:UIImage,result:@escaping(Int,String,String?)->Void)

上传用户头像。

参数

参数描述
image头像图片文件。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

  • 头像的 URL 地址。

  • 错误码,详见 ErrCode。

login

Swift
func login(param:LoginParam,result:@escaping(Int,String)->Void)

通过第三方账号的登陆参数登陆用户账号。

该方法适用于用户已经自行实现第三方账号管理系统的情况。用户可以直接通过该方法登陆灵隼物联网平台。

参数

参数描述
param第三方登陆参数。详见 LoginParam。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

publicKeySet

Swift
func publicKeySet(publicKey:String, _ result:@escaping (Int,String)->Void)

设置云存储视频加密的公钥。

为加强云存储视频加密的安全性,你可以在应用层自行生成公钥、私钥,再通过该方法将公钥传入 SDK。例如,只有 SDK 的公钥和你 app 的私钥都正确,用户才能查看加密视频。

注意

声网不会保存你传入的公钥,你需要自行保存并管理。

参数

参数描述
publicKey待设置的公钥。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

ICallkitMgr

呼叫系统管理接口。

register

Swift
func register(incoming: @escaping (String,String, ActionAck) -> Void,memberState:((MemberState,[UInt])->Void)?)

注册来电通知。

通过该方法定义 incoming 和 memberState 回调函数后,如果你收到来电,SDK 会通过 incoming 和 memberState 回调通知你来电的设备、用户 ID 等相关信息。

声网推荐你在 login 之后调用该方法。

参数

参数描述
incoming

来电设备的信息,包含以下内容:

  • 第一个参数:来电设备的名称。
  • 第二个参数:来电时附带的信息。
  • 第三个参数:来电时产生的事件,详见 ActionAck。
memberState

来电用户的信息,包含以下内容:

  • 第一个参数:来电用户的状态,详见 MemberState。
  • 第二个参数:来电用户的用户 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

callDial

Swift
func callDial(
    device: IotDevice,
    attachMsg: String,
    result:@escaping(Int,String)->Void,
    actionAck:@escaping(ActionAck)->Void,
    memberState:((_ state:MemberState,_ uid:[UInt])->Void)?)

呼叫设备。

参数

参数描述
device要呼叫的设备,详见 IotDevice。
attachMsg呼叫时附带的信息。
actionAck通话中产生的事件,详见 ActionAck。
memberState

其他用户的信息。

  • state: 其他用户的状态,详见 MemberState。
  • uid: 其他用户的用户 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

callHangup

Swift
func callHangup(result:@escaping(Int,String)->Void)

挂断当前通话。

返回

callAnswer

Swift
func callAnswer(result:@escaping(Int,String)->Void,
                actionAck:@escaping(ActionAck)->Void,
                memberState:((_ state:MemberState,_ uid:[UInt])->Void)?)

接听当前来电。

参数

参数描述
actionAck通话中产生的事件。
memberState

其他用户的信息。

  • state: 其他用户的状态,详见 MemberState。
  • uid: 其他用户的用户 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

setLocalVideoView

Swift
func setLocalVideoView(localView: UIView?) -> Int

设置本地视频显示控件。如果不设置则不显示本地视频。

参数

参数描述
localView本地视频显示控件。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

setPeerVideoView

Swift
func setPeerVideoView(peerView: UIView?) -> Int

设置对端视频显示控件。如果不设置则不显示对端视频。

参数

参数描述
localView本地视频显示控件。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

muteLocalVideo

Swift
func muteLocalVideo(mute: Bool,result:@escaping(Int,String)->Void)

停止/恢复发布本地视频流。

参数

参数描述
mute

是否停止发布本地视频流:

  • true: 是
  • false: 否
表格内容超出当前宽度,可横向滚动查看更多列。

返回

muteLocalAudio

Swift
func muteLocaAudio(mute: Bool,result:@escaping(Int,String)->Void)

停止/恢复发布本地音频流。

参数

参数描述
mute

是否停止发布本地音频流:

  • true: 是
  • false: 否
表格内容超出当前宽度,可横向滚动查看更多列。

返回

mutePeerVideo

Swift
func mutePeerVideo(mute: Bool,result:@escaping(Int,String)->Void)

停止/恢复订阅远端视频流。

参数

参数描述
mute

是否停止发布远端视频流:

  • true: 是
  • false: 否
表格内容超出当前宽度,可横向滚动查看更多列。

返回

mutePeerAudio

Swift
func mutePeerAudio(mute: Bool,result:@escaping(Int,String)->Void)

停止/恢复订阅远端音频流。

参数

参数描述
mute

是否停止发布远端音频流:

  • true: 是
  • false: 否
表格内容超出当前宽度,可横向滚动查看更多列。

返回

setVolume

Swift
func setVolume(volumeLevel: Int,result:@escaping(Int,String)->Void)

设置音频播放的音量。

参数

参数描述
volumeLevel音量级别,取值范围为 [0,100]。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

setVolumeEffect

Swift
func setAudioEffect(effectId: AudioEffectId,result:@escaping(Int,String)->Void)

设置音效效果(通常是变声等音效)。

参数

参数描述
effectId音效文件的 ID。详见 AudioEffectId。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

talkingRecordStart

Swift
 func talkingRecordStart(result:@escaping(Int,String)->Void)

开始录制当前通话(包括音视频流),仅在通话状态下才能调用。

返回

talkingRecordStop

Swift
 func talkingRecordStop(result:@escaping(Int,String)->Void)

停止录制当前通话,仅在通话状态下才能调用。

返回

capturePeerVideoFrame

Swift
func capturePeerVideoFrame(result:@escaping(Int,String,UIImage?)->Void)

截屏对端视频帧图像,仅在通话状态下才能调用。

返回

  • 截取到的视频帧图像。

  • 错误码,详见 ErrCode。

getNetworkStatus

Swift
func getNetworkStatus()->RtcNetworkStatus

获取当前通话的统计信息。

返回

当前通话的统计信息。详见 RtcNetworkStatus。

IDeviceMgr

设备管理接口。

register

Swift
func register(listener:IDeviceStateListener)

注册回调接口。

参数

参数描述
listenerIDeviceStateListener 类型的设备状态回调接口。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

错误码,详见 ErrCode。

queryProductList

Swift
func queryProductList(result:@escaping(Int,String,[ProductInfo])->Void)

查询产品列表。

返回

queryAllDevices

Swift
func queryAllDevices(result:@escaping(Int,String,[IotDevice])->Void)

查询当前用户名下所有设备。

返回

removeDevice

Swift
func removeDevice(deviceId:String,result:@escaping(Int,String)->Void)

移除设备。

参数

参数描述
deviceId要移除的设备。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

renameDevice

Swift
func renameDevice(deviceId:String,newName:String,result:@escaping(Int,String)->Void)

修改设备名。

参数

参数描述
deviceId要重命名的设备。
newName修改后的新设备名。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

getPropertyDescription

Swift
func getPropertyDescription(deviceId:String,productNumber:String,result:@escaping(Int,String,[Property])->Void)

获取设备的属性描述符。

该方法支持通过 deviceId 或 productNumber 查询,选择其中一个参数查询时,另一个参数需要设置为 nil。

不要同时填入 deviceId 和 productNumber 参数,否则该方法只会通过 deviceId 进行查询。

参数

参数描述
deviceId设备 ID。
productNumber产品唯一标识。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

设备的属性描述符。详见 Property。

setDeviceProperty

Swift
func setDeviceProperty(deviceId:String, properties:Dictionary<String,Any>,result:@escaping(Int,String)->Void)

设置设备属性。

参数

参数描述
deviceId要设置属性的设备。
properties要设置的属性列表。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

getDeviceProperty

Swift
func getDeviceProperty(deviceId:String,result:@escaping(Int,String,_ desired:Dictionary<String, Any>?,_ reported:Dictionary<String, Any>?)->Void)

查询设备属性。

参数

参数描述
deviceId要设置属性的设备。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

sendCommandToDevice

Swift
    func sendCommandToDevice(
        productKey: String?,
        deviceId: String?,
        command: String?,
        result:(Int,String)->Void
    )

向设备发送命令。

参数

参数描述
productKey产品编号,即作为产品唯一标识的数字。
deviceId设备 ID,必须是唯一的。
command发送给设备的命令。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

shareDeviceTo

Swift
func shareDeviceTo(deviceId:String,userId:String,type:String,result:@escaping(Int,String)->Void)

分享设备给他人。

参数

参数描述
deviceId被分享的设备编号。
userId分享对象的用户 ID。
type

分享对象的权限:

  • 2:管理员。
  • 3:成员(默认)。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

shareGetOwnDevices

Swift
func shareGetOwnDevices(result:@escaping(Int,String,[DeviceShare]?)->Void)

查询可分享的设备。

返回

shareWithMe

Swift
func shareWithMe(result:@escaping(Int,String,[DeviceShare]?)->Void)

查询分享给自己的设备。

返回

  • 分享给自己的设备列表,详见 DeviceShare 类。

  • 错误码,详见 ErrCode。

shareCancelable

Swift
func shareCancelable(deviceId:String,result:@escaping(Int,String,[DeviceCancelable]?)->Void)

查询分享给他人的设备。

参数

参数描述
deviceId被分享的设备编号。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

shareRemoveMember

Swift
func shareRemoveMember(deviceId:String,userId:String,result:@escaping(Int,String)->Void)

设备所有者解除分享对象的权限,同时发送消息给分享对象。

参数

参数描述
deviceId被分享的设备编号。
userId要解除权限的分享对象 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

otaGetInfo

Swift
˚func otaGetInfo(deviceId:String,result:@escaping(Int,String,FirmwareInfo?)->Void)func otaGetInfo(device:IotDevice,result:@escaping(Int,String,FirmwareInfo?)->Void)

获取设备固件信息。

参数

参数描述
deviceId设备 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

otaUpgrade

Swift
func otaUpgrade(upgradeId:String,result:@escaping(Int,String)->Void)

使用 OTA 升级设备固件。

参数

参数描述
upgradeId升级 ID。你可以通过 otaGetInfo 返回的 FirmwareInfo.upgradeId 获取。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

otaQuery

Swift
func otaQuery(upgradeId:String,result:@escaping(Int,String,FirmwareStatus?)->Void)

查询设备 OTA 固件的升级状态。

参数

参数描述
upgradeIdOTA 固件的升级 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

设备 OTA 固件的升级状态。详见 FirmwareStatus。

sendMessageBegin

Swift
func sendMessageBegin(deviceId:String,result:@escaping(Int,String)->Void,statusUpdated:@escaping(_ status:MessageChannelStatus,_ msg:String,_ data:Data?)->Void)

连接 RTM 服务器通道。

参数

参数描述
deviceId设备 ID。
statusUpdated
  • status:RTM 状态。详见 MessageChannelStatus。
  • msg:提示信息。
  • data:提示描述。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

sendMessageEnd

Swift
func sendMessageEnd()

关闭通道,退出 RTM 服务器。

sendMessage

Swift
func sendMessage(data:Data,description:String,result:@escaping(Int,String)->Void)

向设备发送消息。

该方法的调用需要同时满足以下时序:

参数

参数描述
data待发送的 RTM 消息数据。声网推荐发送小于 1 KB 的数据。
description消息描述。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

startPlayback

Swift
func startPlayback(channelName:String,result:@escaping(Int,String)->Void,stateChanged:@escaping(PlaybackStatus,String)->Void)

开始播放 SD 卡记录的视频。

参数

参数描述
channelName频道名。
stateChanged播放 SD 卡记录的视频时的状态。详见 PlaybackStatus。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

setPlaybackView

Swift
func setPlaybackView(peerView: UIView?) -> Int

设置播放视图。

该方法建立待播放视频和 UIView 的关联。

参数

参数描述
peerView需要关联的 UIView。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

stopPlayback

Swift
func stopPlayback()

停止播放 SD 卡记录的视频。

IDeviceMgrCallback

设备状态改变回调。

onDeviceOnOffline

Swift
func onDeviceOnOffline(online:Bool,deviceId:String,productId:String)

设备上下线回调。

参数

参数描述
online

设备上线状态:

  • true: 上线。
  • false: 下线。
deviceId设备 ID,必须是唯一的。
productId产品 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

onDeviceActionUpdated

Swift
func onDeviceActionUpdated(deviceId:String,actionType:String)

设备发生行为改变回调。

参数

参数描述
deviceId设备 ID,必须是唯一的。
actionType

行为类型:

  • add: 绑定。
  • delete: 解绑。
表格内容超出当前宽度,可横向滚动查看更多列。

onDevicePropertyUpdated

Swift
func onDevicePropertyUpdated(deviceId:String,deviceNumber:String,props:[String:Any]?)
}

设备属性更新回调。

参数

参数描述
deviceId设备 ID,必须是唯一的。
deviceNumber设备编号。
props发生变化的属性。
表格内容超出当前宽度,可横向滚动查看更多列。

IAlarmMgr

告警信息管理接口。

queryById

Swift
func queryById(alertMessageId:UInt64, result:@escaping (Int,String,IotAlarm?) -> Void)

根据 ID 查询告警信息。

参数

参数描述
alertmessageId告警信息 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

queryByParam

Swift
func queryByParam(queryParam:QueryParam,result:@escaping(Int,String,[IotAlarm]?)->Void)

根据参数查询告警信息。

参数

参数描述
queryParam告警信息查询参数,详见 AlarmQueryParam 类。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

delete

Swift
func delete(alarmIdList: [UInt64],result:@escaping(Int,String)->Void)

删除告警信息。

参数

参数描述
alarmIdList要删除的告警信息的 ID 列表。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

mark

Swift
func mark(alarmIdList: [UInt64],result:@escaping(Int,String)->Void)

将告警信息标记为已读。

参数

参数描述
alarmIdList要标记的告警信息的 ID 列表。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

addAlarm

Swift
func addAlarm(device:IotDevice,desc:String,result:@escaping(Int,String)->Void)

新增告警信息。

参数

参数描述
device告警设备信息。详见 IotDevice。
desc告警描述。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

queryAlarmImage

Swift
func queryAlarmImage(alertImageId:String,result:@escaping(Int,String,String?)->Void)

根据图片 ID 查询告警图片信息。

参数

参数描述
alertImageId告警图片 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

queryAlarmVideoUrl

Swift
func queryAlarmVideoUrl(deviceId:String,tenantId:String, beginTime:UInt64,result:@escaping(Int,String,AlarmVideoInfo?)->Void)

根据告警时间戳查询告警视频信息。

参数

参数描述
deviceId设备 ID。
tenantId设备所属用户的账号 ID。null 表示当前用户的账号 ID。
beginTime告警的时间戳。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

queryCount

Swift
func queryCount(productId:String?,deviceId:String?,messageType:Int?,status:Int?,createDateBegin:Date?,createDateEnd:Date? , result:@escaping(Int,String,UInt)->Void)

根据过滤条件查询告警信息数量。

参数描述
productId要查询的产品 ID。
deviceId要查询的设备 ID。
messageType

设备告警信息类型:

  • 0: 声音检测。
  • 1: 移动侦测。
  • 99: 其他检测。
  • nil: 所有设备告警信息。
status

设备告警消息状态:

  • 0: (默认)未读
  • 1: 已读。
createdDateBegin开始查询的时间。
createdDateEnd结束查询的时间。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

querySysById

Swift
func querySysById(alertMessageId:UInt64, result:@escaping (Int,String,IotAlarm?) -> Void)

根据 ID 查询系统告警信息。

参数

参数描述
alertmessageId告警信息 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

querySysByParam

Swift
func querySysByParam(queryParam:SysQueryParam,result:@escaping(Int,String,[IotAlarm]?)->Void)

根据参数查询告警信息。

参数

参数描述
queryParam系统信息查询参数,详见 SysAlarmQueryParam 类。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

markSys

Swift
func markSys(alarmIdList: [UInt64],result:@escaping(Int,String)->Void)

将系统告警信息标记为已读。

参数

参数描述
alarmIdList要标记的告警信息的 ID 列表。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

querySysCount

Swift
func querySysCount(productId:String?,deviceIds:[String],messageType:Int?,status:Int?,createDateBegin:Date?,createDateEnd:Date? , result:@escaping(Int,String,UInt)->Void)

根据过滤条件查询系统告警信息数量。

参数描述
productId要查询的产品 ID。
deviceIds要查询的设备 ID。
messageType

系统告警信息类型:

  • 1: 设备上线。
  • 2: 设备下线。
  • 3: 设备绑定。
  • 4: 设备解绑。
  • 99: 其他系统告警信息。
status

设备告警消息状态:

  • 0: (默认)未读
  • 1: 已读。
createdDateBegin开始查询的时间。
createdDateEnd结束查询的时间。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

INotificationMgr

通知消息管理接口。

updateToken

Swift
func updateToken(_ deviceToken:Data)

离线推送时需要更新 Token。

参数

参数描述
deviceToken设备 Token。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

queryAll

Swift
func queryAll(result:@escaping(Int,String)->Void)

查询所有通知消息。

查询成功会触发 onAllNotificationQueryDone 回调。

返回

queryByDevice

Swift
func queryByDevice(productKey: String, deviceId: String,result:@escaping(Int,String)->Void)

查询指定设备的所有通知消息。

查询成功会触发 onDeviceNotificationQueryDone 回调。

参数

参数描述
productKey产品编号。
deviceId设备 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

delete

Swift
func delete(notificationIdList: [String],result:@escaping(Int,String)->Void)

删除多条通知消息。

删除成功会触发 onNotificationDeleteDone 回调。

参数

参数描述
notificationIdList要删除的通知消息 ID 列表。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

mark

Swift
func mark(markFlag: Int, notificationIdList: [String],result:@escaping(Int,String)->Void)

标记多条通知消息。

标记成功会触发 onNotificationMarkDone 回调。

参数

参数描述
notificationIdList要删除的通知消息 ID 列表。
markFlag标记信息。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

enableNotify

Swift
func enableNotify(enable:Bool,result:@escaping(Int,String)->Void)

开启/关闭接收推送消息。

参数

参数描述
bool

是否要接收推送消息。

  • true: 接收。
  • false: 不接收。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

notifyEnabled

Swift
func notifyEnabled()->Bool

查询推送消息接收状态。

返回

  • true: 接收。
  • false: 不接收。

getEid

Swift
func getEid()->String

查询推送 eid。

返回

eid。

ErrCode

全局错误

错误码错误代码描述
0XERR_NONG无错误。
0XOK无错误。
-3XERR_TOKEN_INVALIDToken 过期。
表格内容超出当前宽度,可横向滚动查看更多列。

通用错误

错误码错误代码描述
-10000XERR_BASE通用错误。
-10001XERR_UNKNOWN未知错误。
-10002XERR_INVALID_PARAM参数错误。
-10003XERR_UNSUPPORTED当前操作不支持。
-10004XERR_BAD_STATE当前状态不正确,无法操作。
-10005XERR_NOT_FOUND没有找到相关数据。
-10006XERR_NO_MEMORY内存不足。
-10007XERR_BUFFER_OVERFLOW缓冲区中数据不足。
-10008XERR_BUFFER_UNDERFLOW缓冲区中数据过多。
-10009XERR_TIMEOUT操作超时。
-10012XERR_NETWORK网络错误。
-10015XERR_TOKEN_INVALIDToken 无效。
表格内容超出当前宽度,可横向滚动查看更多列。

账号相关错误

错误码错误代码描述
-30000XERR_ACCOUNT_BASE账号相关错误。
-30001XERR_ACCOUNT_NOT_EXIST账号不存在。
-30002XERR_ACCOUNT_ALREADY_EXIST账号已存在。
-30003XERR_ACCOUNT_PASSWORD_ERR密码错误。
-30004XERR_ACCOUNT_NOT_LOGIN账号未登录。
-30005XERR_ACCOUNT_REGISTER账号注册失败。
-30006XERR_ACCOUNT_UNREGISTER账号注销失败。
-30007XERR_ACCOUNT_LOGIN账号登录失败。
-30008XERR_ACCOUNT_LOGOUT账号登出失败。
-30009XERR_ACCOUNT_CHGPSWD账号更换密码失败。
-30010XERR_ACCOUNT_RESETPSWD账号重置密码失败。
-30011XERR_ACCOUNT_GETCODE获取验证码失败。
-30013XERR_ACCOUNT_USRINFO_QUERY查询用户信息失败。
-30014XERR_ACCOUNT_USRINFO_UPDATE查询用户信息失败。
表格内容超出当前宽度,可横向滚动查看更多列。

呼叫系统相关错误

错误码错误代码描述
-40000XERR_CALLKIT_BASE呼叫系统相关错误。
-40001XERR_CALLKIT_TIMEOUT呼叫超时无响应。
-40002XERR_CALLKIT_DIAL呼叫拨号失败。
-40003XERR_CALLKIT_HANGUP呼叫挂断失败。
-40004XERR_CALLKIT_ANSWER呼叫接听失败。
-40005XERR_CALLKIT_REJECT呼叫拒绝失败。
-40006XERR_CALLKIT_PEER_BUSY对端忙。
-40007XERR_CALLKIT_PEERTIMEOUT对端超时无响应。
-40008XERR_CALLKIT_LOCAL_BUSY本地端忙。
-40009XERR_CALLKIT_ERR_OPT不支持的错误操作。
-40010XERR_CALLKIT_PEER_UNREG对端未注册。
-40011XERR_CALLKIT_NO_APPID未上报 App ID。
-40012XERR_CALLKIT_SAME_ID主叫和被叫同一个 ID。
-4001XERR_CALLKIT_APPID_DIFF客户端和设备端使用的 App ID 不一致。
表格内容超出当前宽度,可横向滚动查看更多列。

设备管理相关错误

错误码错误代码描述
-50000XERR_DEVMGR_BASE设备管理相关错误。
-50001XERR_DEVMGR_NO_DEVICE没有找到设备。
-50002XERR_DEVMGR_ONLINE设备已经在线。
-50003XERR_DEVMGR_OFFLINE设备不在线。
-50004XERR_DEVMGR_QUEYR设备查询失败。
-50005XERR_DEVMGR_ADD设备添加失败。
-50006XERR_DEVMGR_DEL设备删除失败。
-50007XERR_DEVMGR_CMD向设备发出命令失败。
-50008XERR_DEVMGR_PROPERTY设备属性查询失败
-50009XERR_DEVMGR_RENAME设备重命名失败。
-50010XERR_DEVMGR_SHARE_ALREADY_BIND共享的设备已经被绑定。
-50011XERR_DEVMGR_SHARE_TARGET_NOT_EXIST共享的用户不存在。
表格内容超出当前宽度,可横向滚动查看更多列。

告警管理相关错误

错误码错误代码描述
-60001XERR_ALARM_NOT_FOUND没有找到告警信息。
表格内容超出当前宽度,可横向滚动查看更多列。

数据类型

InitParam

Iot SDK 初始化参数。

Swift
public class InitParam : NSObject{
    @objc public var rtcAppId: String = ""
    @objc public var logFilePath : String? = nil
    @objc public var publishAudio = true
    @objc public var publishVideo = true
    @objc public var subscribeAudio = true
    @objc public var subscribeVideo = true
    @objc public var ntfAppKey: String = ""
    @objc public var ntfApnsCertName:String = ""
    @objc public var masterServerUrl:String = ""
    @objc public var slaveServerUrl:String = ""
    @objc public var projectId:String = ""
}
参数描述
rtcAppId声网的 App ID。
logFilePath日志文件路径。如果不设置该参数,则日志不会输出到本地文件。
publishAudio

通话时是否自动发布本地音频:

  • true: 是
  • false: 否
publishVideo

通话时是否自动发布本地视频:

  • true: 是
  • false: 否
subscribeAudio

通话时是否自动订阅对端音频:

  • true: 是
  • false: 否
subscribeVideo

通话时是否自动订阅对端视频:

  • true: 是
  • false: 否
ntfAppKey离线推送使用的 AppKey。
ntfApnsCertName离线推送使用的 ApnsCertName。
masterServerUrl主服务器后台地址。
slaveServerUrl副服务器后台地址。
projectId项目 ID,作为查询产品列表的过滤条件。
表格内容超出当前宽度,可横向滚动查看更多列。

UserInfo

Swift
public class UserInfo : NSObject{
    @objc public var name:String?
    @objc public var avatar:String?
    @objc public var sex:Int = 0
    @objc public var age:Int = 0
    @objc public var birthday:String?
    @objc public var height:NSNumber?
    @objc public var weight:NSNumber?
    @objc public var countryId:String?
    @objc public var country:String?
    @objc public var provinceId:String?
    @objc public var province:String?
    @objc public var cityId:String?
    @objc public var city:String?
    @objc public var areaId:String?
    @objc public var area:String?
    @objc public var address:String?
    @objc public var background:String?

    @objc let email:String?
    @objc let phone:String?
public override init(){
        self.email = ""
        self.phone = ""
    }
    public init( name:String?,
                 avatar:String?,
                 sex:Int,
                 age:Int,
                 birthday:String?,
                 height:UInt?,
                 weight:UInt?,

                 countryId:String?,
                 country:String?,
                 provinceId:String?,
                 province:String?,
                 cityId:String?,
                 city:String?,
                 areaId:String?,
                 area:String?,
                 address:String?,
                 background:String?,

                 email:String?,
                 phone:String?
                 ) {

        self.name = name
        self.avatar = avatar

        self.age = age
        self.sex = sex
        self.birthday = birthday
        self.height = (height) as? NSNumber
        self.weight = (weight) as? NSNumber

        self.countryId = countryId
        self.country = country
        self.province = province
        self.provinceId = provinceId
        self.cityId = cityId
        self.city = city
        self.areaId = areaId
        self.area = area

        self.address = address
        self.background = background

        self.email = email
        self.phone = phone
    }
}

用户信息。

参数

参数描述
name用户名。
avatar用户头像。
sex

性别。

  • 1:男。
  • 2:女。
  • 0:未知。
age年龄。0:未知
birthday生日。
height身高,单位:cm。
weight体重,单位:kg
countryId国家编号。
country国家名。
provinceId省份编号。
province省份名。
cityId城市编号。
city城市名。
areaId区县编号。
area区县名。
address详细地址。
background背景图片。
email邮箱地址。
phone手机号码。
表格内容超出当前宽度,可横向滚动查看更多列。

LoginParam

Swift
public class LoginParam : NSObject{

    public var tokenType:String = ""
    public var accessToken:String = ""
    public var refreshToken:String = ""
    public var expireIn:UInt = 0
    public var scope:String = ""

    public var grawin_token:String = ""
    public var expiration : UInt64 = 0
    public var endPoint:String = ""
    public var region:String = ""
    public var account:String = ""

    public var proof_sessionToken:String = ""
    public var proof_secretKey:String = ""
    public var proof_accessKeyId:String = ""
    public var proof_sessionExpiration:UInt64 = 0

    public var pool_token:String = ""
    public var pool_identityId:String = ""
    public var pool_identityPoolId:String = ""
    public var pool_identifier = ""
}

第三方账号的登陆参数。

参数

参数描述
tokenType预留字段。
accessToken灵隼平台账号的 Token。
refreshToken更新 Token。
expireInToken 过期时间。
scope预留字段。
grawin_token第三方平台的 Token。
expirationgrawin_token 的过期时间。
endPoint灵隼服务器的边缘节点。
region灵隼服务器所在区域。
account用户的第三方账号。
proof_sessionTokenIOT 临时账号的 Token。
proof_secretKeyIOT 临时账号的密钥。
proof_accessKeyIdIOT 临时账号的凭证。
proof_sessionExpirationproof_sessionToken 的过期时间
pool_token用户身份 Token。
pool_identityId用户身份 ID。
pool_identityPoolId用户身份池 ID。
pool_identifier用户身份。
表格内容超出当前宽度,可横向滚动查看更多列。

IotAlarm

Swift
public class IotAlarm : NSObject{
    @objc public let alertMessageId:UInt64
    @objc public var messageType:UInt = 0
    @objc public var desc:String = ""
    @objc public var fileUrl:String = ""
    @objc public var status:UInt = 0
    @objc public var tenantId:String = ""
    @objc public var productId:String? = ""
    @objc public var deviceId:String = ""
    @objc public var deviceName:String = ""
    @objc public var deleted:Bool = false
    @objc public var imageId:String = ""
    @objc public var beginTime:UInt64 = 0
    @objc public var createdBy:UInt = 0
    @objc public var createdDate:UInt64 = 0
    @objc public var changedBy:UInt = 0
    @objc public var changedDate:UInt64 = 0
    @objc public init(messageId:UInt64){
        alertMessageId = messageId
    }

    @objc public var readed:Bool{get{return status == 1}set{status = newValue ? 1 : 0}}
}

告警信息。

参数

参数描述
alertMessageId告警信息 ID。
messageType

设备告警信息类型:

  • 0: 声音检测。
  • 1: 移动侦测。
  • 99: 其他检测。
  • nil: 所有设备告警信息。

系统告警信息类型:

  • 1: 设备上线。
  • 2: 设备下线。
  • 3: 设备绑定。
  • 4: 设备解绑。
  • 99: 其他系统告警信息。
desc告警描述。
fileUrl告警视频 URL。
status

告警信息状态:

  • 0: (默认)未读
  • 1: 已读。
tenantId租户 ID。
productId产品 ID。
deviceId设备 ID。
deviceName设备名称。
deleted

是否已删除。

  • true: 是
  • false: 否
imageId告警图片 ID。
beginTime告警视频开始录制的时间戳。
createdBy创建人 ID。
createdDate创建日期。
changedBy最近修改人 ID。
changedDate最近修改日期。
表格内容超出当前宽度,可横向滚动查看更多列。

AlarmQueryParam

Swift
public class AlarmQueryParam : NSObject{
    public var productId:String?
    public var deviceId:String?
    public var messageType : Int? = nil
    public var status : Int? = nil
    public var createdDateBegin:Date? = nil
    public var createdDateEnd:Date? = nil
    public var currentPage:Int = 1
    public var pageSize:Int = 5
    public var desc:Bool = true

    public init(dateBegin:Date? = nil){
        self.createdDateBegin = dateBegin
    }
}

设备告警信息查询参数。

参数描述
productId产品 ID。
deviceId设备 ID。
messageType

设备告警信息类型:

  • 0: 声音检测。
  • 1: 移动侦测。
  • 99: 其他检测。
  • nil: 所有设备告警信息。
status

设备告警消息状态:

  • 0: (默认)未读
  • 1: 已读。
createdDateBegin开始查询的时间。
createdDateEnd结束查询的时间。
currentPage要查询的页面索引,从 1 开始。
pageSize查询结果中每页告警消息的数量。
desc

是否按上报时间升序排序:

  • true: 是。
  • false: 否。
表格内容超出当前宽度,可横向滚动查看更多列。

SysAlarmQueryParam

Swift
public class SysAlarmQueryParam : NSObject{
    public var messageType : Int? = nil
    public var status : Int? = nil
    public var createdDateBegin:Date? = nil
    public var createdDateEnd:Date = Date()
    public var currentPage:Int = 1
    public var pageSize:Int = 5
    public var desc:Bool = true
    public var deviceIds:[String] = []

    public init(dateBegin:Date? = nil){
        self.createdDateBegin = dateBegin
    }
}

系统告警信息查询参数。

参数描述
messageType

系统告警信息类型:

  • 1: 设备上线。
  • 2: 设备下线。
  • 3: 设备绑定。
  • 4: 设备解绑。
  • 99: 其他系统告警信息。
status

告警消息状态:

  • 0: (默认)未读
  • 1: 已读。
createdDateBegin开始查询的时间。
createdDateEnd结束查询的时间。
currentPage要查询的页面索引,从 1 开始。
pageSize查询结果中每页告警消息的数量。
desc

是否按上报时间升序排序:

  • true: 是。
  • false: 否。
deviceIds要查询的设备 ID。当查询所有设备的信息时,需要填上所有设备的 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

AlarmVideoInfo

Swift
public class AlarmVideoInfo : NSObject{
    public var url : String = ""
    public var videoSecretKey : String = ""
}

告警视频信息。

参数描述
url视频文件在云存储中的地址。
videoSecretKey播放视频时需要传入的密钥。
表格内容超出当前宽度,可横向滚动查看更多列。

IotDevice

Swift
public class IotDevice : NSObject {
    @objc public var userId : String
    @objc public var userType : Int
    @objc public var deviceId : String
    @objc public var deviceName : String
    @objc public var deviceNumber : String
    @objc public var tenantId : String
    @objc public var productId : String
    @objc public var productNumber : String
    @objc public var sharer : String
    @objc public var createTime : UInt64
    @objc public var updateTime : UInt64
    @objc public var productInfo : ProductInfo?
    @objc public var connected : Bool
    @objc public var alias : String
    @objc public var props: Dictionary<String,Any>? = nil

    public init(userId:String ,
         userType:Int ,
         deviceId:String,
         deviceName:String,
         deviceNumber:String,
         tenantId:String,

         productId:String,
         productNumber:String,

         sharer:String,
         createTime:UInt64,
         updateTime:UInt64,

         alias:String,
         connected:Bool,
         props:Dictionary<String,String>?){
        self.userId = userId
        self.userType = userType
        self.deviceId = deviceId
        self.deviceName = deviceName
        self.deviceNumber = deviceNumber
        self.tenantId = tenantId

        self.productId = productId
        self.productNumber = productNumber


        self.sharer = sharer
        self.createTime = createTime
        self.updateTime = updateTime
        self.connected = connected
        self.alias = alias
        self.props = props
    }
}

设备信息。

参数描述
userId用户 ID。
userType

用户角色:

  • 1:所有者。
  • 2:管理员。
  • 3:成员。
deviceId设备 ID。
deviceName设备名称。
deviceNumber设备编号。
tenantId租户 ID。
productId产品 ID。
productNumbe产品编号。
sharer分享者的用户 ID。
createTime创建时间。
updateTime最近更新时间。
productInfo产品信息,详见 ProductInfo。
connected

是否在线。

  • true:在线。
  • false:离线。
alias产品别名。
props设备属性。
表格内容超出当前宽度,可横向滚动查看更多列。

ProductInfo

Swift
public class ProductInfo:NSObject{
    @objc public var alias : String = ""
    @objc public var bindType:UInt = 0
    @objc public var connectType : UInt = 0
    @objc public var createTime : UInt64 = 0
    @objc public var deleted : UInt = 0
    @objc public var id : String = ""
    @objc public var imgBig : String = ""
    @objc public var imgSmall : String = ""
    @objc public var merchantId : UInt64 = 0
    @objc public var merchantName : String = ""
    @objc public var name : String = ""
    @objc public var productKey : String = ""
    @objc public var productTypeId : UInt64  = 0
    @objc public var productTypeName : String = ""
    @objc public var status : UInt = 0
    public var updateBy : UInt64 = 0
    public var updateTime : UInt64 = 0
    public init(alias:String,
                bindType:UInt,
                connectType:UInt,
                createTime:UInt64,
                deleted:UInt,
                id:String,
                imgBig:String,
                imgSmall:String,
                merchantId:UInt64,
                merchantName:String,
                name:String,
                productKey:String,
                productTypeId:UInt64,
                productTypeName:String,
                status:UInt,
                updateBy:UInt64,
                updateTime:UInt64) {
        self.alias = alias
        self.bindType = bindType
        self.connectType = connectType
        self.createTime = createTime
        self.deleted = deleted
        self.id = id
        self.imgBig = imgBig
        self.imgSmall = imgSmall
        self.merchantId = merchantId
        self.merchantName = merchantName
        self.name = name
        self.productKey = productKey
        self.productTypeId = productTypeId
        self.productTypeName = productTypeName
        self.status = status
        self.updateBy = updateBy
        self.updateTime = updateTime
    }
}

产品信息。

参数描述
alias产品别名。
bindType

绑定类型:

  • 1: 可重复绑定。
  • 2: 不可重复绑定。
connectType

网络连接类型:

  • 1: WiFi 连接。
  • 2: 蜂窝连接。
createTime创建时间。
deleted

是否已删除。

  • true: 是
  • false: 否
id产品 ID。
imgBig产品大图。
imgSmall产品小图。
merchantId商户 ID。
merchantName商户名称。
name产品名称
productKey产品编号,即作为产品唯一标识的数字。
productTypeId产品型号 ID。
productTypeName产品型号名称。
status

产品状态:

  • 1: 正常。
  • 0: 停用。
updateBy更新人 ID。
updateTime最后更新时间。
表格内容超出当前宽度,可横向滚动查看更多列。

Property

Swift
public class Property : NSObject{
    @objc public var productId:UInt64 = 0
    @objc public var markName = ""
    @objc public var maxValue = ""
    @objc public var minValue = ""
    @objc public var params = ""
    @objc public var pointName = ""
    @objc public var pointType:UInt = 0
    @objc public var readType:UInt = 0
    @objc public var remark = ""
    @objc public var status:UInt = 0
    @objc public var createBy:UInt64 = 0
    @objc public var createTime:UInt64 = 0
    @objc public var deleted:UInt = 0
    @objc public var tip:String = ""
}

设备的属性描述符。

参数描述
productId产品 ID。
markName数据点标识。
maxValue最大值。
minValue最小值。
params预留参数。
pointName数据点名称。
pointType

数据点类型。

  • 1: 整型
  • 2: 布尔型
  • 3: 枚举型
  • 4: 字符串型
  • 5: 浮点型
  • 6: 字节型
  • 7: 原始数据型
readType

读写类型。

  • 1: 只读
  • 2: 读写
remark备注
status

属性描述符的启用情况。

  • 1: 启用
  • 2: 停用
createBy创建人 ID。
createTime创建时间。
deleted

描述符是否已删除。

  • 0: 未删除
  • 1: 已删除
tip描述。
表格内容超出当前宽度,可横向滚动查看更多列。

DeviceShare

Swift
public class DeviceShare : NSObject{
    @objc public var nickName:String = ""
    @objc public var count:Int = 0
    @objc public var time:UInt64 = 0
    @objc public var deviceNumber:String = ""
    @objc public var deviceId:String = ""
}

分享的设备信息。

参数描述
nickName设备昵称。
count设备被分享次数。
time创建时间。
deviceNumber设备编号。
deviceId设备 ID,必须是唯一的。
表格内容超出当前宽度,可横向滚动查看更多列。

DeviceCancelable

Swift
public class DeviceCancelable : NSObject{
    @objc public var appuserId:String  = ""
    @objc public var avatar:String = ""
    @objc public var connect:Bool = false
    @objc public var createTime:UInt64 = 0
    @objc public var deviceNumber:String = ""
    @objc public var deviceNickname:String = ""
    @objc public var email:String = ""
    @objc public var deviceId:String = ""
    @objc public var nickName:String = ""
    @objc public var phone:String = ""
    @objc public var productId:String = ""
    @objc public var productKey:String = ""
    @objc public var sharer:String = ""
    @objc public var uType:String = ""
    @objc public var updateTime:UInt64 = 0
}

分享给他人设备详情。

参数描述
appuserId用户 ID。
avatar用户头像。
connect

是否在线。

  • true:在线。
  • false:离线。
createTime创建时间。
deviceNumber设备编号。
deviceNickname设备昵称。
email用户邮箱.
deviceId设备 ID,必须是唯一的。
nickName用户昵称。
phone用户手机。
productId产品 ID。
productKey产品编号。
sharer分享人 ID。
uType

用户角色:

  • 1:所有者。
  • 2:管理员。
  • 3:成员。
updateTime更新时间。
表格内容超出当前宽度,可横向滚动查看更多列。

ShareDetail

Swift
public class ShareDetial : NSObject{
    @objc public var auditStatus:Bool = false
    @objc public var content:String = ""
    @objc public var createBy:UInt64 = 0
    @objc public var createTime:UInt64 = 0
    @objc public var deleted:Int = 0
    @objc public var id:UInt64 = 0
    @objc public var merchantId:UInt64 = 0
    @objc public var merchantName:String = ""
    @objc public var msgType:Int = 0
    @objc public var para:String = ""
    @objc public var permission:Int = 0
    @objc public var status:Int = 0
    @objc public var title:String = ""
    @objc public var type:Int = 0
    @objc public var updateBy:UInt64 = 0
    @objc public var updateTime:UInt64 = 0
    @objc public var userId:UInt64 = 0
}

分享详情。

参数描述
auditStatus

消息处理状态:

  • t: 已处理。
  • f: 未处理。
content推送内容。
createBy创建人 ID。
createTime创建时间。
deleted

是否已删除。

  • 1: 已删除。
  • 0: 未删除。
id该条消息 ID。
merchantId商户 ID。
merchantName商户名称。
msgType

消息类型:

  • 1: 设备分享消息。
para分享口令。
permission

推送权限:

  • 2:管理员。
  • 3:成员。
status

状态:

  • 1:发送成功。
  • 2:发送失败。
  • 3:待发送。
title推送标题。
type

推送类型:

  • 1:App 消息。
  • 2:短信消息。
  • 3:邮箱信息。
updateBy更新人 ID。
updateTime更新时间。
userId被分享者 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

ShareItem

Swift
public class ShareItem : NSObject{
    @objc public var auditStatus:Bool = false
    @objc public var content:String = ""
    @objc public var createBy:UInt64 = 0
    @objc public var createTime:UInt64 = 0
    @objc public var deleted:Int = 0
    @objc public var deviceNumber:UInt64 = 0
    @objc public var id:UInt64 = 0
    @objc public var img:String = ""
    @objc public var merchantId:UInt64 = 0
    @objc public var merchantName:String = ""
    @objc public var msgType:Int = 0
    @objc public var para:String = ""
    @objc public var permission:Int = 0
    @objc public var productName:String = ""
    @objc public var pushTime:UInt64 = 0
    @objc public var shareName:String = ""
    @objc public var status:Int = 0
    @objc public var title:String = ""
    @objc public var type:Int = 0
    @objc public var userId:UInt64 = 0
}

分享条目。

参数描述
auditStatus

消息处理状态:

  • t: 已处理。
  • f: 未处理。
content推送内容。
createBy创建人 ID。
createTime创建时间。
deleted

是否已删除。

  • 1: 已删除。
  • 0: 未删除。
deviceNumber设备编号。
id该条消息 ID。
img产品图片地址。
merchantId商户 ID。
merchantName商户名称。
msgType

消息类型:

  • 1: 设备分享消息。
para分享口令。
permission

推送权限:

  • 2:管理员。
  • 3:成员。
productName产品名称。
pushTime推送时间。
shareName分享设备的名称。
status

状态:

  • 1:发送成功。
  • 2:发送失败。
  • 3:待发送。
title推送标题。
type

推送类型:

  • 1:App 消息。
  • 2:短信消息。
  • 3:邮箱信息。
userId被分享者 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

PageTurn

Swift
public class PageTurn:NSObject{
    @objc var currentPage : Int = 0
    @objc var end : Int = 0
    @objc var firstPage : Int = 0
    @objc var nextPage : Int = 0
    @objc var page : Int = 0
    @objc var pageCount : Int = 0
    @objc var pageSize : Int = 0
    @objc var prevPage : Int = 0
    @objc var rowCount : Int = 0
    @objc var start : Int = 0
    @objc var startIndex : Int = 0
}

产品查询翻页信息。

参数描述
currentPage当前页码。
end当前页结束条数。
firstPage第一页页码。
nextPage下一页页码。
page查询的页码。
pageCount页数。
pageSize分页大小。
prevPage前一页页码。
rowCount条数
start当前页开始条数。
startIndex开始翻页的索引。
表格内容超出当前宽度,可横向滚动查看更多列。

FirmwareInfo

Swift
public class FirmwareInfo : NSObject{
    @objc public var  releaseTime:UInt64 = 0
    @objc public var  size:UInt = 0
    @objc public var  currentVersion:String = ""
    @objc public var  upgradeVersion:String = ""
    @objc public var  remark:String = ""
    @objc public var  isUpgrade:Bool = false
    @objc public var  deviceNumber:UInt64 = 0
    @objc public var  upgradeId:String = ""
    @objc public var  deviceId:String = ""
}

固件信息。

参数描述
releaseTime发布时间。
size文件大小。
currentVersion设备当前固件版本。
upgradeVersion最新固件版本。
remark备注说明。
isUpgrade是否可以升级。
deviceNumber设备号。
upgradeId升级记录 ID。
deviceId设备 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

FirmwareStatus

Swift
public class FirmwareStatus : NSObject{
    @objc public var  deviceNumber:String = ""
    @objc public var  deviceName:String = ""
    @objc public var  deviceId:String = ""
    @objc public var  currentVersion:String = ""
    @objc public var  status:Int = 0
}

设备 OTA 固件的升级状态。

参数描述
deviceNumber设备号码。
deviceName设备名称。
deviceId设备 ID。
currentVersion设备当前的 OTA 固件版本。
status

设备 OTA 固件的升级状态。

  • 1:升级完成。
  • 2:升级失败。
  • 3:升级取消。
  • 4:待升级。
  • 5:升级中。
表格内容超出当前宽度,可横向滚动查看更多列。

MessageChannelStatus

Swift
@objc public enum MessageChannelStatus : Int{
    case DataArrived
    case Disconnected
    case Connecting
    case Connected
    case Reconnecting
    case Aborted
    case TokenWillExpire
    case TokenDidExpire
    case UnknownError
}

RTM 状态。

参数描述
DataArrived已接收设备端发送的消息。
Disconnected未连接 RTM 服务器。
Connecting正在连接 RTM 服务器。
Connected已连接 RTM 服务器。
Reconnecting正在重新连接 RTM 服务器。可能原因是网络有问题。
Aborted与 RTM 服务器中断连接。
TokenWillExpireRTM 将要过期。
TokenDidExpireRTM 已过期。
UnknownError未知错误。
表格内容超出当前宽度,可横向滚动查看更多列。

PlaybackStatus

Swift
@objc public enum PlaybackStatus : Int{
    case RemoteJoin
    case RemoteLeft
    case LocalReady
    case LocalError
    case VideoReady
}

播放 SD 卡记录的视频时的状态。

参数描述
RemoteJoin设备连接成功。
RemoteLeft设备断开连接。
LocalReady本地播放已就绪。
LocalError本地播放出错。
VideoReady收到设备的视频。
表格内容超出当前宽度,可横向滚动查看更多列。

RtcNetworkStatus

Swift
public class RtcNetworkStatus : NSObject{
    public var isBusy : Bool             = false
    public var totalDuration : UInt      = 0
    public var txBytes : UInt            = 0
    public var rxBytes : UInt            = 0
    public var txKBitRate : UInt         = 0
    public var txAudioBytes : UInt       = 0
    public var rxAudioBytes : UInt       = 0
    public var txVideoBytes : UInt       = 0
    public var rxVideoBytes : UInt       = 0
    public var rxKBitRate : UInt         = 0
    public var txAudioKBitRate : UInt    = 0
    public var rxAudioKBitRate : UInt    = 0
    public var txVideoKBitRate : UInt    = 0
    public var rxVideoKBitRate : UInt    = 0
    public var lastmileDelay : UInt      = 0
    public var cpuTotalUsage : Double    = 0
    public var cpuAppUsage : Double      = 0
    public var users : UInt              = 0
    public var connectTimeMs : Int       = 0
    public var txPacketLossRate : Int    = 0
    public var rxPacketLossRate : Int    = 0
    public var memoryAppUsageRatio : Double = 0
    public var memoryTotalUsageRatio : Double = 0
    public var memoryAppUsageInKbytes : Int = 0
}

通话相关的统计信息。

参数描述
isBusy

是否在呼叫中:

  • true: 在呼叫中。
  • false: 未进行呼叫。
totalDuration本地用户通话时长(秒),累计值。
txBytes发送字节数(bytes)。
rxBytes接收字节数(bytes)。
txKBitRate发送码率(Kbps)。
txAudioBytes发送音频字节数(bytes),累计值。
rxAudioBytes接收音频字节数(bytes),累计值。
txVideoBytes发送视频字节数(bytes),累计值。
rxVideoBytes接收视频字节数(bytes),累计值。
rxKBitRate接收码率(Kbps)。
txAudioKBitRate音频发送码率 (Kbps)。
rxAudioKBitRate音频接收码率 (Kbps)。
txVideoKBitRate视频发送码率 (Kbps)。
rxVideoKBitRate视频接收码率 (Kbps)。
lastmileDelay客户端到接入服务器的延时 (毫秒)。
cpuTotalUsage当前系统的 CPU 使用率 (%)。
cpuAppUsage当前 App 的 CPU 使用率 (%)。
users当前频道内的用户人数。
connectTimeMs从开始建立连接到成功连接的时间(毫秒)。如报告 0,则表示无效。
txPacketLossRate使用抗丢包技术前,客户端上行发送到服务器丢包率 (%)。
rxPacketLossRate使用抗丢包技术前,服务器下行发送到客户端丢包率 (%)。
memoryAppUsageRatio当前 App 的内存占比 (%)。该值仅作参考。受系统限制可能无法获取。
memoryTotalUsageRatio当前系统的内存占比 (%)。该值仅作参考。受系统限制可能无法获取。
memoryAppUsageInKbytes当前 App 的内存大小 (KB)。该值仅作参考。受系统限制可能无法获取。
表格内容超出当前宽度,可横向滚动查看更多列。

MemberState

Swift
@objc public enum MemberState : Int{
    case Exist
    case Enter
    case Leave
}

用户状态。

参数描述
Exist当前通话中已有其他用户。
Enter其他用户加入通话。
Leave其他用户退出通话。
表格内容超出当前宽度,可横向滚动查看更多列。

MessageChannelStatus 枚举

Swift
@objc public enum MessageChannelStatus : Int{
    case DataArrived
    case Disconnected
    case Connecting
    case Connected
    case Reconnecting
    case Aborted
    case TokenWillExpire
    case TokenDidExpire
    case UnknownError
}

消息频道连接状态。

枚举值描述
DataArrived收到数据。
Disconnected连接断开。
Connecting连接中。
Connected连接成功。
Reconnecting重连中。
Aborted连接中断。
TokenWillExpireRTM Token 即将过期。
TokenDidExpireRTM Token 已经过期。
UnknownError未知错误
表格内容超出当前宽度,可横向滚动查看更多列。

SdkStatus 枚举

Objective-C
@objc public enum SdkStatus : Int{
    case NotReady
    case InitCallFail
    case InitMqttFail
    case InitPushFail
    case AllReady
    case Reconnected
    case Disconnected
}

SDK 状态。

参数

参数描述
NotReady登录成功,但还在初始化各个子模块中,处于未就绪状态。
InitCallFail登录成功后,初始化呼叫模块出错。
InitMqttFail登录成功后,初始化 MQTT 模块出错。
InitPushFail登录成功后,初始化推送模块出错。
AllReady登录成功后,初始化过程完毕,处于就绪状态。
Reconnected登录成功后,MQTT 重连成功。
Disconnected登录成功后,MQTT 断开连接。
表格内容超出当前宽度,可横向滚动查看更多列。

ActionAck 枚举

通话中产生的事件。

Objective-C
@objc public enum ActionAck:Int{

    case StateInited
    case LocalHangup
    case LocalAnswer
    case RemoteHangup
    case RemoteAnswer
    case RemoteTimeout
    case RecordEnd
    case LocalTimeout

    case RemoteVideoReady
    case RemoteAudioReady

    case RemoteBusy
    case CallIncoming
    case CallForward
    case CallOutgoing
    case UnknownAction
}

参数

参数描述
StateInited初始化呼叫状态。
LocalHangup本地挂断。
LocalAnswer本地接听。
RemoteHangup设备挂断。
RemoteAnswer设备接听。
RemoteTimeout对端超时。
RecordEnd云录制停止。
LocalTimeout呼叫超时。
RemoteVideoReady首次收到设备视频。
RemoteAudioReady首次收到设备音频。
RemoteBusy设备忙。
CallIncoming设备来电振铃。
CallForward本地去电中继。
CallOutgoing本地去电振铃。
UnknownAction未知错误。
表格内容超出当前宽度,可横向滚动查看更多列。

AudioEffectId

音频特效。

Objective-C
@objc public enum AudioEffectId:Int{
    case NORMAL
    case OLDMAN
    case BABYBOY
    case BABYGIRL
    case ZHUBAJIE
    case ETHEREAL
    case HULK
}

参数

参数描述
NORMAL(默认)原声,即关闭本地语音的变声、美音或语聊美声效果。
OLDMAN变声:老男孩。
BABYBOY变声:小男孩。
BABYGIRL变声:小女孩。
ZHUBAJIE变声:猪八戒
ETHEREAL变声:空灵。
HULK变声:绿巨人。
表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?