GizWifiSDK 类
机智云 Wifi SDK 的基础类,为APP开发者提供设备配置和发现、用户登录和注册等功能。
目录
属性访问
[setListener]
设置SDK通用监听器
定义
public void setListener(GizWifiSDKListener listener)
[getDeviceList]
GizWifiDevice 对象数组。设备列表缓存,APP 访问该变量即可得到当前 GizWifiSDK 发现的设备列表。
定义
public List<GizWifiDevice> getDeviceList()
API 定义
[sharedInstance]
获取GizWifiSDK单例的实例
返回值返回初始化后 SDK 唯一的实例。SDK 未初始化,或者初始化失败,返回 nil。
定义
public static synchronized GizWifiSDK sharedInstance()
代码示例
GizWifiSDK mSDKInstance = GizWifiSDK.sharedInstance();
[setListener]
设置SDK通用监听器
定义
public void setListener(GizWifiSDKListener listener)
参数
属性名 |
描述 |
listener |
GizWifiSDKListener 回调对象 |
代码示例
GizWifiSDK.sharedInstance().setListener(new GizWifiSDKListener() {
});
[startWithAppInfo]
启动 SDK。该接口执行成功后,其他接口功能才能正常执行。该接口执行结果由回调didNotifyEvent通知App,回调参数eventID为8316表示SDK启动成功。
如果App要做域名切换和设备类型过滤,则要在此时就指定好域名cloudSeviceInfo和产品信息productInfo。
SDK启动成功后,如果App已经设置了delegate,SDK会立即通过didDiscovered上报发现的设备。
定义
public void startWithAppInfo(Context context, ConcurrentHashMap<String, String> appInfo,
List<ConcurrentHashMap<String, String>> productInfo, ConcurrentHashMap<String, String> cloudServiceInfo)
参数
属性名 |
描述 |
context |
上下文对象 |
appInfo |
应用信息,格式:{"appId": "xxx", "appSecret": "xxx"}。此参数不能填nil,appId和appSecret必须为有效值。在机智云开发者中心 dev.gizwits.com 中,每个注册的设备在对应的“应用配置”中,都能够查到对应的 appID和appSecret |
productInfo |
产品信息数组,格式:[{"productKey": "xxx", "productSecret": "xxx"}],此参数选填。如果填写了此参数,则需保证productKey和productSecret都为有效值,否则会被忽略。SDK会根据此参数过滤设备列表 |
cloudServiceInfo |
服务器域名信息,格式:{"appApi": "xxx", // String类型,api服务域名,必填 "push": "xxx" // String类型,推送服务域名,可不填}。如果使用机智云统一部署的云服务域名,此参数填nil,此时将根据用户手机的地理位置信息使用匹配的域名。如果需要独立部署,此参数必须指定域名信息。如果需要指定端口号,可指定Http端口如:xxx.gizwits.com:80,或同时指定Http和Https端口如:xxx.gizwits.com:80&443。不指定端口号时,形如:xxx.gizwits.com |
回调
当发生GizEventType中列举的事件类型时,SDK会主动触发该回调,该回调通知的主要是发生的异常事件
public void didNotifyEvent(GizEventType eventType, Object eventSource, GizWifiErrorCode eventID, String eventMessage)
回调参数
属性名 |
描述 |
eventType |
事件类型。指明发生了哪一类的事件,详细见 GizEventType 枚举定义 |
eventSource |
事件源,指是谁触发的事件。如果eventType是GizEventSDK,eventSource为nil;如果是GizEventDevice,eventSource需要强制转换为GizWifiDevice类型再使用;如果是GizEventM2Mservice或者GizEventToken,eventSource需要强制转换为NSString类型再使用 |
eventID |
事件ID。代表事件编号,详细见 GizWifiErrorCode 枚举定义。该参数指出 eventSource 发生了什么事 |
eventMessage |
事件ID的消息描述 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
ConcurrentHashMap<String, Object> appInfo = new ConcurrentHashMap<String, String>();
appInfo.put("appId", "your_app_id");
appInfo.put("appSecret", "your_app_secret");
List<String> productInfo = new ArrayList<String> ();
ConcurrentHashMap<String, Object> product = new ConcurrentHashMap<String, Object>();
product.put("productKey", "your_product_secret");
product.put("productSecret", "your_product_secret");
productInfo.add(product);
GizWifiSDK.sharedInstance().startWithAppInfo(context, appInfo, productInfo, null);
GizWifiSDKListener mListener = new GizWifiSDKListener() {
@Override
public void didNotifyEvent(GizEventType eventType, Object eventSource, GizWifiErrorCode eventID, String eventMessage) {
if (eventType == GizEventType.GizEventSDK) {
Log.i("GizWifiSDK", "SDK event happened: " + eventID + ", " + eventMessage);
} else if (eventType == GizEventType.GizEventDevice) {
GizWifiDevice mDevice = (GizWifiDevice)eventSource;
Log.i("GizWifiSDK", "device mac: " + mDevice.getMacAddress() + " disconnect caused by eventID: " + eventID + ", eventMessage: " + eventMessage);
} else if (eventType == GizEventType.GizEventM2MService) {
Log.i("GizWifiSDK", "M2M domain " + (String)eventSource + " exception happened, eventID: " + eventID + ", eventMessage: " + eventMessage);
} else if (eventType == GizEventType.GizEventToken) {
Log.i("GizWifiSDK", "token " + (String)eventSource + " expired: " + eventMessage);
}
}
};
[getVersion]
获取 SDK 版本号。
返回值返回当前 SDK 的版本号码
定义
public String getVersion()
代码示例
String sdkVersion = GizWifiSDK.sharedInstance().getVersion();
[getPhoneID]
获取 手机的唯一标志码
定义
public String getPhoneID();
代码示例
String phoneID = GizWifiSDK.sharedInstance().getPhoneID();
[disableLAN]
设置是否禁用小循环功能
定义
public void disableLAN(boolean disabled)
参数
回调
public void didDisableLAN(GizWifiErrorCode result)
回调参数
属性名 |
描述 |
result |
详细见 GizWifiErrorCode 枚举定义。GIZ_SDK_SUCCESS 表示成功,其他为失败 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
GizWifiSDK.sharedInstance().disableLAN(true);
GizWifiSDKListener mListener = new GizWifiSDKListener() {
@Override
public void didDisableLAN(GizWifiErrorCode result) {
if (result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
} else {
}
}
};
[setDeviceOnboardingDeploy]
设备配网接口。配网时可自动完成设备域名部署,此接口对模组固件版本向前兼容。
设备处于 softap 模式时,会产生一个热点名称,手机 wifi 连接此热点后就可以配置了。如果是机智云提供的设备wifi固件,热点名称前缀为"XPG-GAgent-",密码为"123456789"或无密码。设备处于 airlink 模式时,手机随时都可以开始配置
配网时,若检测到手机的配网wifi为5G路由,会通过didNotifyEvent回调通知App,回调中的eventID为8319
参数
属性 |
描述 |
ssid |
要配置的路由SSID |
key |
要配置的路由密码 |
mode |
配置模式,详细见 GizWifiConfigureMode 枚举定义 |
softAPSSIDPrefix |
SoftAPMode 模式下 SoftAP 的 SSID 前缀或全名。默认前缀为:XPG-GAgent-,SDK 以此判断手机当前是否连上了设备的 SoftAP 热点。AirLink配置时该参数无意义,传null即可 |
timeout |
配置的超时时间。SDK默认执行的超时时间为30秒。在超时时间内如果无法配置和绑定会回调配网失败 |
types |
待配置的模组类型,是GizWifiGAgentType 枚举数组。 GizWifiGAgentType定义了 SDK 支持的所有模组类型,还定义了一个GizGAgentOther枚举值,用于开发者使用自己的配置库进行设备配置,此时参数传GizGAgentOther即可。 此参数传null、空数组或无有效枚举值,则默认为乐鑫模组 |
回调
如果调用startWithAppInfo接口时指定了待筛选的 productInfo 集合,如果设备被成功配置到路由上并绑定成功,但此设备的productKey不在productInfo指定的productKey中, 会返回配置成功,但不会出现在设备列表中。
public void didSetDeviceOnboarding(GizWifiErrorCode result, GizWifiDevice device);
回调参数
属性 |
描述 |
result |
详细见 GizWifiErrorCode 枚举定义,GIZ_SDK_SUCCESS 表示成功,其他为失败。失败时,其他参数为 null |
device |
配网成功的设备 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
List<GizWifiGAgentType> types = new ArrayList();
types.add(GizWifiGAgentType.GizGAgentESP); GizWifiSDK.sharedInstance().setDeviceOnboardingDeploy("your_ssid", "your_key", GizWifiConfigureMode.GizWifiAirLink, null, 60, types);
GizWifiSDK.sharedInstance().setListener(mListener);
GizWifiSDK.sharedInstance().setDeviceOnboardingDeploy("your_ssid", "your_key", GizWifiConfigureMode.GizWifiSoftAP, "XPG-GAgent-DF4A", 60, null);
GizWifiSDKListener mListener = new GizWifiSDKListener() {
@Override
public void didSetDeviceOnboarding(GizWifiErrorCode result, GizWifiDevice device) {
if (result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
} else {
}
}
};
[setDeviceOnboarding]
持续获取局域网内未绑定的设备, 直到timeout结束
定义
public void setDeviceOnboarding(int timeout);
参数
属性名 |
描述 |
timeout |
获取局域网未绑定设备的超时时间;设备列表每次发生变化就会回调一次,到达超时时间会回调GIZ_SDK_ONBOARDING_STOPPED表示获取设备结束 |
回调
public void didSetDeviceOnboarding(GizWifiErrorCode result, List<GizWifiDevice> devices);
回调参数
属性名 |
描述 |
result |
配置成功或失败。如果配置失败,其他参数为nil |
devices |
局域网未绑定的设备列表 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
List<GizWifiGAgentType> types = new ArrayList();
GizWifiSDK.sharedInstance().setDeviceOnboarding(10);
GizWifiSDKListener mListener = new GizWifiSDKListener() {
@Override
public void didSetDeviceOnboarding(GizWifiErrorCode result, List<GizWifiDevice> devices) {
if (result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
} else {
}
}
};
[stopDeviceOnboarding]
停止设备配网,停止后didSetDeviceOnboarding回调中返回的错误码为GIZ_SDK_ONBOARDING_STOPPED
定义
public void stopDeviceOnboarding();
回调
public void didSetDeviceOnboarding(GizWifiErrorCode result, GizWifiDevice device);
public void didSetDeviceOnboarding(GizWifiErrorCode result, List<GizWifiDevice> devices);
回调参数
见【setDeviceOnboardingDeploy】, 【setDeviceOnboarding】
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
GizWifiSDK.sharedInstance().stopDeviceOnboarding();
GizWifiSDKListener mListener = new GizWifiSDKListener() {
@Override
public void didSetDeviceOnboarding(GizWifiErrorCode result, GizWifiDevice device) {
if (result == GizWifiErrorCode.GIZ_SDK_ONBOARDING_STOPPED) {
}
}
public void didSetDeviceOnboarding(GizWifiErrorCode result, List<GizWifiDevice> devices) {
if (result == GizWifiErrorCode.GIZ_SDK_ONBOARDING_STOPPED) {
}
}
};
[getSSIDList]
在 Soft-AP 模式时,获得设备的 SSID 列表。SSID列表通过异步回调方式返回
定义
public void getSSIDList()
回调
public void didGetSSIDList(GizWifiErrorCode result, List<GizWifiSSID> ssidInfoList)
回调参数
属性名 |
描述 |
result |
详细见 GizWifiErrorCode 枚举定义。GIZ_SDK_SUCCESS 表示成功,其他为失败。失败时,ssidInfoList为null |
ssidInfoList |
由 GizWifiSSID 实例组成的 SSID 信号列表 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
GizWifiSDK.sharedInstance().getSSIDList();
GizWifiSDKListener mListener = new GizWifiSDKListener() {
@Override
public void didGetSSIDList(GizWifiErrorCode result, List<GizWifiSSID> ssidInfoList) {
if (result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
} else {
}
}
};
[getBoundDevices]
获取绑定设备列表。在不同的网络环境下,有不同的处理:
当手机能访问外网时,该接口会向云端发起获取绑定设备列表请求;
当手机不能访问外网时,局域网设备是实时发现的,但会保留之前已经获取过的绑定设备;
手机处于无网模式时,局域网未绑定设备会消失,但会保留之前已经获取过的绑定设备;
用户未登录时,无法获取到绑定设备列表。
定义
public void getBoundDevices(List<String> specialProductKey);
参数
属性名 |
描述 |
specialProductKeys |
指定获取的设备productKey,这个参数只有在启动接口没传productInfo时才会生效 |
回调
以下触发场景触发回调:
getBoundDevices接口调用时触发该回调,错误码代表云端请求状态,设备列表是绑定设备与局域网设备合并之后的集合;
设备列表发生变化时会主动上报时触发该回调,此时错误码GIZ_SDK_SUCCESS,设备列表仍然是合并过的集合。
public void didDiscovered(GizWifiErrorCode result, List<GizWifiDevice> deviceList)
回调参数
属性名 |
描述 |
result |
详细见 GizWifiErrorCode 枚举定义,GIZ_SDK_SUCCESS 表示成功,其他为失败。失败时,deviceList 为非 null集合 |
deviceList |
GizWifiDevice 实例组成的数组,该参数将只返回根据指定productKey筛选过的设备集合。productKey在 getBoundDevices接口调用时指定 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
GizWifiSDK.sharedInstance().getBoundDevices(null);
GizWifiSDKListener mListener = new GizWifiSDKListener() {
@Override
public void didDiscovered(GizWifiErrorCode result, List<GizWifiDevice> deviceList) {
if(result != GizWifiErrorCode.GIZ_SDK_SUCCESS) {
Log.d("", "result: " + result.name());
}
Log.d("", "discovered deviceList: " + deviceList);
}
};
[bindDevice]
绑定远端设备到服务器
定义
public void bindDevice(String mac, String productKey, String alias, RequestListener<OpenApiResult<String>> requestListener);
参数
属性名 |
描述 |
mac |
待绑定设备的mac |
productKey |
待绑定设备的productKey |
alias |
待绑定设备的别名 |
requestListener |
绑定结果回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult定义 |
代码示例
Log.d("Hello world!");
[bindDeviceByQRCode]
根据二维码绑定设备到服务器
定义
public void bindDeviceByQRCode(String QRContent, RequestListener<OpenApiResult<String>> requestListener);
参数
属性名 |
描述 |
QRContent |
二维码内容。二维码需联系机智云FAE提供 |
requestListener |
绑定设备回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult定义 |
代码示例
Log.d("Hello world!");
[unbindDevices]
从服务器解绑设备
定义
public void unbindDevices(List<GizWifiDevice> devices, RequestListener<OpenApiResult<List<BindDeviceResult>>> requestListener);
参数
属性名 |
描述 |
devices |
待解绑的设备对象集合 |
requestListener |
解绑设备回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult定义 |
代码示例
Log.d("Hello world!");
[deviceSafetyRegister]
设备安全注册接口。向云端加密注册设备,注册成功时返回设备did,同时如果用户已登录则会自动绑定已注册成功的设备,绑定成功的设备会主动触发设备列表更新。需注意,安全注册需要productKey和productSecret,这两个信息应在startWithAppInfo接口参数productInfo的指定范围内
定义
public void deviceSafetyRegister(GizWifiDevice gateway, String productKey, List<ConcurrentHashMap<String, String>> devicesInfo);
参数
参数 |
描述 |
gateway |
设备的代理网关,此参数选填。若要注册的设备不需要代理网关,此参数可传null |
productKey |
设备的产品类型识别码,此参数必填。若填入的productKey不在启动接口参数productInfo的指定范围将不会向云端注册 |
devicesInfo |
要注册的设备信息,可同时传多组设备信息,格式如下: [{mac:"xxx",meshID:"xxx",alias:"xxx",authCode:"xxx"}, ...] mac 设备物理唯一标识,最大32字符长度,字符串类型。必填 meshID 设备组网ID,最大256字符长度。必填 alias 设备别名,最大128字符长度,String类型。选填 authCode 设备注册的授权码,32字符长度,由开发者自定义生成,字符串类型。选填 |
回调
public void didDeviceSafetyRegister(List<ConcurrentHashMap<String, String>> successDevices, List<ConcurrentHashMap<String, Object>> failedDevices)
回调参数
参数 |
描述 |
successDevices |
注册成功的设备信息,null表示无注册成功的设备。字典格式如下: [{mac:"xxx", productKey:"xxx", did:"xxx"}, ...] mac 注册成功的设备mac,字符串类型 productKey 注册成功的设备产品类型标识,字符串类型 did 注册成功的设备唯一标识,字符串类型 |
failedDevices |
注册失败的设备信息,null表示无注册失败的设备。字典格式如下: [{mac:"xxx", productKey:"xxx", errorCode:xxx}, ...] mac 注册失败的设备mac,字符串类型 productKey 注册失败的设备产品类型标识,字符串类型 errorCode 失败原因,GizWifiErrorCode枚举类型 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
List<ConcurrentHashMap<String, String>> deviceInfos = new ArrayList
<ConcurrentHashMap<String, String>> ();
ConcurrentHashMap<String, String> deviceInfo = new ConcurrentHashMap
<String, String> ();
deviceInfo.put("mac", "device_mac");
deviceInfo.put("meshID", "your_meshID");
deviceInfo.put("alias", "your_alias");
deviceInfo.put("authCode", "your_authCode");
deviceInfos.add(deviceInfo);
GizWifiSDK.sharedInstance().deviceSafetyRegister(mDevice, "device_productKey", deviceInfos);
GizWifiSDKListener mListener=new GizWifiSDKListener() {
@Override
public void didDeviceSafetyRegister(List<ConcurrentHashMap<String, String>> successDevices, List<ConcurrentHashMap<String,Object>> failedDevices) {
}
};
[deviceSafetyUnbind]
设备安全解绑接口。此接口会在云端把设备的所有关联用户都解绑,可同时解绑多个相同产品类型的设备。但如果设备的产品类型(productKey)不一致将不会解绑任何设备
定义
public void deviceSafetyUnbind(List<ConcurrentHashMap<String, Object>> devicesInfo)
参数
属性名 |
描述 |
devicesInfo |
要解绑的设备信息,格式:{"device": device, "authCode": "xxx"},device为GizWifiDevice对象,authCode为授权码。authCode不是必填参数,若没有授权码则不需要填写此字段 |
回调
public void didDeviceSafetyUnbind(List<ConcurrentHashMap<String, Object>> failedDevices)
回调参数
属性名 |
描述 |
failedDevices |
failedDevices 解绑失败的设备。字典格式如下:[{device:xxx, errorCode:xxx}, ...]device 解绑失败的设备对象,GizWifiDevice类型errorCode 失败的错误原因,GizWifiErrorCode类型。可在此看到设备解绑的详细错误原因 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
List<ConcurrentHashMap<String, Object>> deviceInfos = new ArrayList
<ConcurrentHashMap<String, Object>> ();
ConcurrentHashMap<String, Object> deviceInfo = new ConcurrentHashMap<String, Object> ();
deviceInfo.put("device", device);
deviceInfo.put("authCode", "your_authCode");
deviceInfos.add(deviceInfo);
GizWifiSDK.sharedInstance().deviceSafetyUnbind(deviceInfos);
GizWifiSDKListener mListener = new GizWifiSDKListener() {
@Override
public void didDeviceSafetyUnbind(List<ConcurrentHashMap<String, Object>> failedDevices) {
}
};
[setUid]
设置用户uid和token
定义
public void setUid(String uid, String token);
参数
属性名 |
描述 |
uid |
在登录或注册成功获取到的用户唯一id |
token |
在登录或注册成功获取到的用户token |
回调
回调参数
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
GizWifiSDK.sharedInstance().setUid("your_uid", "your_token");
GizWifiSDKListener mListener = new GizWifiSDKListener() {
};
[registerUser]
用户注册。 需指定用户类型注册。手机用户的用户名是手机号,邮箱用户的用户名是邮箱、普通用户的用户名可以是普通用户名;
注意:如果邮箱注册启用了邮箱激活,会返回注册成功,但不会返回uid、token
定义
public void registerUser(String username, String password, String verifyCode, GizUserAccountType accountType, RequestListener<OpenApiResult<OpenApiLoginResult>> requestListener);
参数
属性名 |
描述 |
username |
注册用户名(可以是手机号、邮箱或普通用户名) |
password |
注册密码 |
code |
手机短信验证码。短信验证码注册后就失效了,不能被再次使用 |
accountType |
用户类型,详细见 GizUserAccountType 枚举定义。注册手机号时,此参数指定为手机用户,注册邮箱时,此参数指定为邮箱用户,注册普通用户名时,此参数指定为普通用户 |
requestListener |
注册用户的回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和OpenApiLoginResult定义 |
代码示例
Log.d("Hello world!");
[userLogin]
用户登录。需使用注册成功的用户名、密码进行登录,可以是手机用户名、邮箱用户名或普通用户名
定义
public void userLogin(String username, String password, RequestListener<OpenApiResult<OpenApiLoginResult>> requestListener);
参数
属性名 |
描述 |
username |
注册成功的用户名 |
password |
注册成功的用户密码 |
requestListener |
登录结果回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和OpenApiLoginResult定义 |
代码示例
Log.d("Hello world!");
[dynamicLogin]
动态验证码登录。登录用户名为手机号,以手机收到的登录验证码登录
定义
public void dynamicLogin(String phone, String code, RequestListener<OpenApiResult<OpenApiLoginResult>> requestListener);
参数
属性名 |
描述 |
phone |
注册用户名(可以是手机号、邮箱或普通用户名) |
code |
手机短信验证码。短信验证码注册后就失效了,不能被再次使用 |
requestListener |
登录结果回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和OpenApiLoginResult定义 |
代码示例
Log.d("Hello world!");
[userLoginAnonymous]
匿名登录。匿名方式登录,不需要注册用户账号。
定义
public void userLoginAnonymous(RequestListener<OpenApiResult<OpenApiLoginResult>> requestListener);
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和OpenApiLoginResult定义 |
代码示例
Log.d("Hello world!");
[userLoginWithThirdAccount]
第三方账号登录(第三方接口登录方式)
定义
public void userLoginWithThirdAccount(GizThirdAccountType thirdAccountType, String uid, String token, String tokenSecret, RequestListener<OpenApiResult<OpenApiLoginResult>> requestListener);
参数
属性名 |
描述 |
thirdAccountType |
第三方账号类型,详细见 GizThirdAccountType 枚举定义 |
uid |
通过第三方平台 api 方式登录后得到的 uid |
token |
通过第三方平台api方式 登录后得到的 token |
tokenSecret |
推特账号登录时需要通过推特平台api方式得到此参数,其他第三方账号此参数可传null |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和OpenApiLoginResult定义 |
代码示例
Log.d("Hello world!");
[transAnonymousUser]
匿名用户转换,可转换为手机用户或者普通用户。注意,待转换的帐号必须是还未注册过的
定义
public void transAnonymousUser(String username, String password, String code, GizUserAccountType accountType, RequestListener<OpenApiResult<EmptyBean>> requestListener);
参数
属性名 |
描述 |
username |
待转换的普通账号或手机号 |
password |
转换后的帐号密码 |
code |
转换为手机用户时要使用的手机短信验证码 |
accountType |
指定待转换的用户类型,详细见 GizThirdAccountType 枚举定义。待转换的用户名是手机号时,此参数指定为GizUserPhone,待转换用户名是普通账号时,此参数指定为GizUserNormal |
requestListener |
匿名转换结果回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和EmptyBean定义 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
GizWifiSDK.sharedInstance().transAnonymousUser("your_token", "your_phone_number", "your_password", "your_verify_code", GizUserAccountType. GizUserPhone);
GizWifiSDKListener mListener = new GizWifiSDKListener() {
@Override
public void didTransAnonymousUser(GizWifiErrorCode result) {
if (result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
} else {
}
}
};
[userLogout]
注销用户,会将用户已经订阅的设备取消订阅,并删除远程设备列表
定义
public void userLogout();
回调
public void didUserLogout(GizWifiErrorCode result);
回调参数
属性名 |
描述 |
result |
详细见 GizWifiErrorCode 枚举定义。GIZ_SDK_SUCCESS 表示成功,其他为失败 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
GizWifiSDK.sharedInstance().setUid("your_uid", "your_token");
GizWifiSDKListener mListener = new GizWifiSDKListener() {
public void didUserLogout(GizWifiErrorCode result) {
if (result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
} else {
}
}
};
[changeUserPassword]
修改用户密码
定义
public void changeUserPassword(String oldPassword, String newPassword, RequestListener<OpenApiResult<EmptyBean>> requestListener);
参数
属性名 |
描述 |
oldPassword |
旧密码 |
newPassword |
新密码 |
requestListener |
修改密码结果回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和EmptyBean定义 |
代码示例
Log.d("Hello world!");
[changePhoneOrEmail]
修改账号,只能支持修改手机号或邮箱
定义
public void changePhoneOrEmail(String username, String code, GizUserAccountType accountType, RequestListener<OpenApiResult<EmptyBean>> requestListener);
参数
属性名 |
描述 |
username |
手机号/邮箱 |
code |
修改手机号,这里需要传验证码 |
accountType |
账号类型:传GizUserPhone/GizUserEmail |
requestListener |
修改账号结果回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和EmptyBean定义 |
代码示例
Log.d("Hello world!");
[resetPassword]
重置密码。手机号重置密码时通过手机短信验证码重置,邮箱重置密码时需通过邮箱密码重置链接重置
定义
public void resetPassword(String username, String code, String newPassword, GizUserAccountType accountType, RequestListener<OpenApiResult<EmptyBean>> requestListener);
参数
属性名 |
描述 |
username |
待重置密码的手机号或邮箱 |
code |
重置手机用户密码时需要使用手机短信验证码(通过 requestSendPhoneSMSCode 方法获取) |
newPassword |
新密码。邮箱重置密码时不需要填充密码,可指定为null |
accountType |
用户类型,详细见 GizThirdAccountType 枚举定义。待重置密码的用户名是手机号时,此参数指定为手机用户,待重置密码的用户名是邮箱时,此参数指定为邮箱用户 |
requestListener |
重置密码结果回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和EmptyBean定义 |
代码示例
Log.d("Hello world!");
[getUserInfo]
获取用户信息
定义
public void getUserInfo(RequestListener<OpenApiResult<GizOpenApiUser>> requestListener);
参数
属性名 |
描述 |
requestListener |
获取用户信息结果回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult>类型,详细见OpenApiResult和GizOpenApiUser定义 |
代码示例
Log.d("Hello world!");
[changeUserInfo]
修改用户个人信息。
定义
public void changeUserInfo(GizOpenApiUser additionalInfo, RequestListener<OpenApiResult<GizOpenApiUser>> requestListener);
参数
属性名 |
描述 |
additionalInfo |
待修改的个人信息,详细见 GizOpenApiUser 类定义。 |
requestListener |
修改用户个人信息回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult>类型,详细见OpenApiResult和GizOpenApiUser定义 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
GizWifiSDK.sharedInstance().changeUserInfo("your_token", "your_phone_number", "your_verify_code", GizUserAccountType.GizUserPhone, null);
GizWifiSDKListener mListener = new GizWifiSDKListener() {
@Override
public void didChangeUserInfo(GizWifiErrorCode result) {
if (result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
} else {
}
}
};
[requestSendPhoneSMSCode]
通过手机号请求短信验证码
定义
public void requestSendPhoneSMSCode(String phone, RequestListener<OpenApiResult<EmptyBean>> requestListener);
参数
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和EmptyBean定义 |
代码示例
GizWifiSDK.sharedInstance().setListener(mListener);
GizWifiSDK.sharedInstance().requestSendPhoneSMSCode ("your_app_secret", "your_phone_number");
GizWifiSDKListener mListener = new GizWifiSDKListener() {
@Override
public void didRequestSendPhoneSMSCode(GizWifiErrorCode result, String token) {
if (result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
} else {
}
}
};
[setLogLevel]
设置日志输出级别。该级别指日志在调试终端和log文件的输出级别,默认是全部输出的。
日志文件存放在SD卡目录下:GizWifiSDK/包名/GizSDKLog/
定义
public void setLogLevel(GizLogPrintLevel logLevel)
参数
属性名 |
描述 |
logLevel |
日志输出级别,参考 GizLogPrintLevel 定义 |
代码示例
GizWifiSDK.sharedInstance().setLogLevel(GizLogPrintLevel.GizLogPrintAll);
[encryptLog]
设置日志加密。
定义
public void encryptLog();
代码示例
GizWifiSDK.sharedInstance().encryptLog();
[channelIDBind]
绑定推送的ID到当前用户下,以接收设备的通知事件
定义
public void channelIDBind(String channelID, String alias, GizPushType pushType, RequestListener<OpenApiResult<EmptyBean>> requestListener);
参数
属性名 |
描述 |
channelID |
从第三方推送平台获取的推送ID |
alias |
推送别名,只在极光推送中产生作用 |
pushType |
推送类型,详细见 GizPushType 枚举定义 |
requestListener |
绑定推送id回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和EmptyBean定义 |
代码示例
Log.d("Hello world!");
[channelIDUnBind]
解绑推送ID与当前用户的绑定关系,以解除接收设备的通知事件
定义
public void channelIDUnBind(String channelID, RequestListener<OpenApiResult<EmptyBean>> requestListener);
参数
属性名 |
描述 |
channelID |
从第三方推送平台获取的推送ID |
requestListener |
解绑推送id回调 |
回调参数
属性名 |
描述 |
result |
详细见 GizWifiErrorCode 枚举定义。result.error.code 为 GIZ_SDK_SUCCESS 表示成功,其他为失败。失败时,其他回调参数为 nil |
代码示例
Log.d("Hello world!");
[userFeedback]
用户信息反馈接口。此接口无回调,调用后就会上传信息。目前信息上传后,需要联系机智云FAE查看
定义
public void userFeedback(String contactInfo, String feedbackInfo, boolean sendLog);
参数
属性名 |
描述 |
contactInfo |
用户的联系方式。此参数为选填 |
feedbackInfo |
用户反馈的信息。此参数为选填 |
sendLog |
是否发送问题日志。如果前面两个参数都没填,则默认发送问题日志 |
代码示例
GizWifiSDK.sharedInstance().userFeedback("your_phone", "your_message", true);
[getCurrentCloudService]
查询当前使用的云服务域名信息
定义
接口还未完成
[getUserTerm]
获取用户协议内容
定义
public void getUserTerm(GizUserTermType termType, RequestListener<OpenApiResult<String>> requestListener);
参数
属性名 |
描述 |
termType |
协议类型, 详细见GizUserTermType枚举 |
requestListener |
请求回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和String定义 |
代码示例
Log.d("Hello world!");
[checkUserTerm]
检查用户协议
定义
public void checkUserTerm(RequestListener<OpenApiResult<GizUserTerm>> requestListener);
参数
属性名 |
描述 |
requestListener |
检查用户协议请求回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和GizUserTerm定义 |
代码示例
Log.d("Hello world!");
[confirmUserTerm]
确认用户协议
定义
public void confirmUserTerm(List<GizUserTermType> termTypes, RequestListener<OpenApiResult<String>> requestListener);
参数
属性名 |
描述 |
termTypes |
协议类型数组 |
requestListener |
确认用户协议请求回调 |
回调参数
属性名 |
描述 |
result |
OpenApiResult类型,详细见OpenApiResult和String定义 |
代码示例
Log.d("Hello world!");