iOS SDK 2.0文档 9 - 新旧SDK功能对比
1. 新旧SDK兼容方式SDK采取以下兼容方式:[*]兼容接口参数对应转换为新接口参数后,在兼容接口内调用新接口。
[*]回调时同时回调兼容接口。之前使用1.6.2 SDK的APP,仍然可以收到兼容接口的回调。
新版SDK对1.6.2 SDK的未废弃接口做了无缝兼容。
2. 新旧SDK功能对比
下面对新旧SDK的功能做些对比说明:
[*]下载配置文件功能
2.0 SDK会自动探测配置文件是否有更新,有更新时会主动推送给APP。APP只保留didUpdateProduct回调即可,不需要再使用updateDeviceFromServer这个兼容接口做强制更新了。
[*]获取设备列表功能
2.0 SDK会主动发现当前局域网设备,用户登录、绑定或解绑后也会主动刷新已绑定设备,并推送给APP。APP只要实现didDiscovered回调即可得到最新的设备列表。2.0 SDK提供设备列表缓存,APP可以使用deviceList缓存刷新界面。
APP仍然可以使用getBoundDevices接口调用,但getBoundDevices接口需要访问外网获取绑定设备列表,回调刷新的快慢取决于网络请求时间。
[*]设备绑定功能
对于局域网wifi设备,只要用户登录了,2.0 SDK就会自动绑定已订阅的设备;对于非局域网设备,APP需要调用绑定接口手动绑定。使用passcode绑定的兼容接口将被新的mac地址绑定接口取代。
[*]用户注销功能
云端一直都不支持用户注销功能,2.0 SDK也仅对接口调用做兼容,并不实现真正的用户注销功能。 APP如果不想继续使用当前用户,可以切换用户登录。
[*]设备passcode属性值
设备passcode仅在设备绑定时会被使用到。从安全角度考虑,2.0 SDK的新接口中,不推荐继续使用passcode绑定的兼容接口,并且也不再提供有效的passcode值。
[*]设备登录功能
设备登录兼容接口,会触发设备订阅。2.0 SDK对已订阅设备会自动登录,只要不取消订阅,自动登录会一直尝试直到成功为止。APP只需要订阅设备,接收设备的netStatus变化上报即可。
2.0 SDK设备登录过程,包含设备连接、获取passcode、登录验证、获取设备状态四个步骤。其中有一个步骤失败,即登录失败。登录失败后,SDK会间隔1秒重试。
[*]设备断开连接功能
设备断开连接兼容接口,会触发设备解除订阅。2.0 SDK对已解除订阅的设备,不再推送任何状态更新,同时会断开设备连接。
[*]设备控制指令下发功能
旧的设备write接口,不带sn参数。SDK在兼容处理时,sn按0下发。新的write接口中,控制指令下发时可以指定sn,2.0 SDK就可以精确回调该条指令对应的应答。
2.0 SDK对于下发的设备指令,对以下数据类型做了约定,并且要求只能包含可写指令。不符合类型约定和要求的指令,被视为无效指令,下发指令格式支持字典键值对。
布尔类型命令参数必须传true或false
枚举类型命令参数只能传索引值或枚举字符串
数值类型命令参数只能是数值
扩展类型直接传二进制数据,不需要再做base64编码了
透传数据直接传二进制数据,不需要再做base64编码了
[*]设备状态上报功能
新的回调接口中会携带下发指令的sn。上报的数据点,以字典键值对的格式回调,数据点标识名和值组成键值对。
扩展类型和透传数据,回调的数据格式是二进制数据,不需要APP做base64转码。
3. 新旧SDK枚举定义对比 APP端替换新SDK时不需要替换枚举,以下仅列出新旧枚举的对应关系,APP端可以查阅。
【XPGConfigureMode】
兼容枚举新定义枚举
XPGConfigureModeGizWifiConfigureMode
1: XPGWifiSDKSoftAPMode0: GizWifiSoftAP
2: XPGWifiSDKAirLinkMode1: GizWifiAirLink
【XPGWifiDeviceType】
兼容枚举新定义枚举
XPGWifiDeviceTypeGizWifiDeviceType
0: XPGWifiDeviceTypeNormal0: GizDeviceNormal
1: XPGWifiDeviceTypeCenterControl1: GizDeviceCenterControl
【XPGWifiThirdAccountType】
兼容枚举新定义枚举
XPGWifiThirdAccountTypeGizThirdAccountType
0: XPGWifiThirdAccountTypeBAIDU0: GizThirdBAIDU
1: XPGWifiThirdAccountTypeSINA1: GizThirdSINA
2: XPGWifiThirdAccountTypeQQ2: GizThirdQQ
【XPGUserAccountType】
兼容枚举新定义枚举
XPGUserAccountTypeGizUserAccountType
0: XPGUserAccountTypeNormal0: GizUserNormal
1: XPGUserAccountTypePhone1: GizUserPhone
2: XPGUserAccountTypeEmail2: GizUserEmail
【XPGWifiGAgentType】
兼容枚举新定义枚举
XPGWifiGAgentTypeGizWifiGAgentType
0: XPGWifiGAgentTypeMXCHIP0: GizGAgentMXCHIP
1: XPGWifiGAgentTypeHF1: GizGAgentHF
2: XPGWifiGAgentTypeRTK2: GizGAgentRTK
3: XPGWifiGAgentTypeWM3: GizGAgentWM
4: XPGWifiGAgentTypeESP4: GizGAgentESP
5: XPGWifiGAgentTypeQCA5: GizGAgentQCA
6: XPGWifiGAgentTypeTI6: GizGAgentTI
7: XPGWifiGAgentTypeFSK7: GizGAgentFSK
8: XPGWifiGAgentTypeMXCHIP38: GizGAgentMXCHIP3
9: XPGWifiGAgentTypeBL9: GizGAgentBL
【XPGUserGenderType】
兼容枚举新定义枚举
XPGUserGenderTypeGizUserGenderType
0: Male0: GizUserGenderMale
1: Female1: GizUserGenderFemale
2: Unknown2: GizUserGenderUnknown
【XPGWifiErrorCode】
兼容枚举
新定义枚举
XPGWifiErrorCode
GizWifiErrorCode
0
XPGWifiError_NONE
0
GIZ_SDK_SUCCESS
-1
XPGWifiError_GENERAL
8100
GIZ_SDK_OTHERWISE
-7
XPGWifiError_CONNECTION_CLOSED
8047
GIZ_SDK_CONNECTION_CLOSED
-9
XPGWifiError_LOGIN_VERIFY_FAILED
8049
GIZ_SDK_DEVICE_LOGIN_VERIFY_FAILED
-11
XPGWifiError_NOT_CONNECTED
8029
GIZ_SDK_DEVICE_NOT_SUBSCRIBED
-15
XPGWifiError_THREAD_CREATE
8102
GIZ_SDK_THREAD_CREATE_FAILED
-19
XPGWifiError_CONNECTION_ERROR
8046
GIZ_SDK_CONNECTION_ERROR
-20
XPGWifiError_INVALID_PARAM
8006
GIZ_SDK_PARAM_INVALID
8033
GIZ_SDK_DEVICE_CONTROL_WITH_INVALID_COMMAND
8036
GIZ_SDK_DEVICE_CONTROL_VALUE_TYPE_ERROR
8037
GIZ_SDK_DEVICE_CONTROL_VALUE_OUT_OF_RANGE
8038
GIZ_SDK_DEVICE_CONTROL_NOT_WRITABLE_COMMAND
-21
XPGWifiError_CONNECT_TIMEOUT
8044
GIZ_SDK_CONNECTION_TIMEOUT
-23
XPGWifiError_INSUFFIENT_MEM
8101
GIZ_SDK_MEMORY_MALLOC_FAILED
-25
XPGWifiError_HTTP_FAIL
8099
GIZ_SDK_HTTP_REQUEST_FAILED
-27
XPGWifiError_DNS_FAILED
8041
GIZ_SDK_DNS_FAILED
-30
XPGWifiError_UDP_PORT_BIND_FAILED
8004
GIZ_SDK_UDP_PORT_BIND_FAILED
-39
XPGWifiError_CONFIGURE_SSID_NOT_MATCHED
8310
GIZ_SDK_PHONE_NOT_CONNECT_TO_SOFTAP_SSID
8311
GIZ_SDK_DEVICE_CONFIG_SSID_NOT_MATCHED
-40
XPGWifiError_CONFIGURE_TIMEOUT
8023
GIZ_SDK_DEVICE_CONFIG_TIMEOUT
8308
GIZ_SDK_REQUEST_TIMEOUT
-41
XPGWifiError_CONFIGURE_SENDFAILED
8021
GIZ_SDK_DEVICE_CONFIG_SEND_FAILED
-42
XPGWifiError_NOT_IN_SOFTAPMODE
8312
GIZ_SDK_NOT_IN_SOFTAPMODE
-45
XPGWifiError_CONNECTION_REFUSED
8045
GIZ_SDK_CONNECTION_REFUSED
-46
XPGWifiError_IS_RUNNING
8022
GIZ_SDK_DEVICE_CONFIG_IS_RUNNING
8315
GIZ_SDK_PRODUCT_IS_DOWNLOADING
-47
XPGWifiError_UNSUPPORTED_API
8307
GIZ_SDK_UNSUPPORTED_API
-49
XPGWifiError_START_SDK_FAILED
8002
GIZ_SDK_CLIENT_NOT_AUTHEN
旧的错误码在以上对照表中没有的,新SDK一律按新的错误码8100处理。
页:
[1]