更新时间:2024-05-16 05:55:16下载pdf
Cube App SDK 支持对用户账号信息的管理,包括账号绑定、修改用户信息、会话过期处理、账号注销等。
接口说明
void sendBindVerifyCodeWithEmail(@NonNull String countryCode, @NonNull String email, @NonNull IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
countryCode | 国家或地区的区号,例如 86 表示中国大陆 |
邮箱地址 | |
callback | 回调 |
接口说明
void bindEmail(@NonNull String countryCode, @NonNull String email, @NonNull String code, @NonNull String sId, @NonNull IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
countryCode | 国家或地区的区号,例如 86 表示中国大陆地区 |
邮箱地址 | |
code | 通过 sendBindVerifyCodeWithEmail 获取到的验证码 |
sId | 用户账号的会话(session)ID,您可以从用户数据模型ThingHomeSdk.getUserInstance().getUser().getSid() 中获取 |
callback | 回调 |
代码范例
// 绑定邮箱获取验证码
ThingHomeSdk.getUserInstance().sendBindVerifyCodeWithEmail("86","123456@123.com", new IResultCallback(){
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
Toast.makeText(mContext, "验证码发送成功", Toast.LENGTH_SHORT).show();
}
});
// 绑定邮箱
ThingHomeSdk.getUserInstance().bindEmail("86", "123456@123.com","123456", ThingHomeSdk.getUserInstance().getUser().getSid(), new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
Toast.makeText(mContext, "绑定成功成功", Toast.LENGTH_SHORT).show();
}
});
接口说明
void changeUserName(String countryCode, String code, String sId, String userName, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
countryCode | 国家或地区的区号,例如 86 表示中国大陆地区 |
code | 通过 sendVerifyCodeWithUserName 获取到的验证码 |
sId | 用户账号的会话(session)ID,您可以从用户数据模型ThingHomeSdk.getUserInstance().getUser().getSid() 中获取 |
userName | 新的待绑定的邮箱地址 |
callback | 回调 |
代码范例
// 换绑邮箱获取验证码
ThingHomeSdk.getUserInstance().sendVerifyCodeWithUserName("发送验证码到新的待绑定的邮箱地址",ThingHomeSdk.getUserInstance().getUser().getDomain().getRegionCode(),"86",7, new IResultCallback(){
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
Toast.makeText(mContext, "验证码发送成功", Toast.LENGTH_SHORT).show();
}
});
// 换绑邮箱
ThingHomeSdk.getUserInstance().changeUserName("86", "123456", ThingHomeSdk.getUserInstance().getUser().getSid(), "123456@123.com",new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
Toast.makeText(mContext, "绑定成功成功", Toast.LENGTH_SHORT).show();
}
});
因为用户自行上传头像会涉及合规问题,给您带来不必要的风险,该接口停止更新,请注意避免使用以及调整应用功能。
接口说明
void uploadUserAvatar(File file, IBooleanCallback callback)
参数说明
参数 | 说明 |
---|---|
file | 用户头像图片文件 |
callback | 回调 |
示例代码
ThingHomeSdk.getUserInstance().uploadUserAvatar(
file,
new IBooleanCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(String code, String error) {
}
});
接口说明
void setTempUnit(TempUnitEnum unit, IResultCallback callback);
参数 | 说明 |
---|---|
unit | 温度单位
|
callback | 回调 |
接口说明
void updateNickName(String name, final IReNickNameCallback callback);
参数说明
参数 | 说明 |
---|---|
name | 昵称 |
callback | 回调 |
示例代码
ThingHomeSdk.getUserInstance().updateNickName(nickName,
new IReNickNameCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(String code, String error) {
}
});
接口说明
void updateTimeZone(String timezoneId, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
timezoneId | 时区 ID,例如 Asia/Shanghai |
callback | 回调 |
示例代码
ThingHomeSdk.getUserInstance().updateTimeZone(
timezoneId,
new IResultCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(String code, String error) {
}
});
如果有需要的话,定位信息可以通过以下接口上报。
ThingSdk.setLatAndLong(lat,lon);
当用户信息发生了变更,如修改了用户头像、昵称等,需要调用同步用户信息接口,保持用户信息是最新的状态。
如果多台设备同时登录,一台设备修改了用户信息。另外一台设备也需要同步用户信息,可以在查看用户信息时调用同步接口,同步最新的用户信息。
接口说明
void updateUserInfo(IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
callback | 回调 |
示例代码
ThingHomeSdk.getUserInstance().updateUserInfo(new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
User user = ThingHomeSdk.getUserInstance().getUser();
}
});
账号退出登录分为匿名退出登录和其它账号方式退出登录。
接口说明
匿名登录的用户退出登录后,账号会被立即注销。
void touristLogOut(final ILogoutCallback callback)
参数说明
参数 | 类型 | 说明 |
---|---|---|
success | ILogoutCallback | 回调 |
示例代码
ThingHomeSdk.getUserInstance().touristLogOut(new ILogoutCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(String code, String error) {
}
});
Java 示例
ThingHomeSdk.getUserInstance().logout(new ILogoutCallback() {
@Override
public void onSuccess() {
//退出登录成功
}
@Override
public void onError(String errorCode, String errorMsg) {
}
});
接口说明
注销账号后,一周后才会永久注销并删除用户账户中的所有信息。但是,如果用户在永久注销之前重新登录的话,则注销请求会被取消。
void cancelAccount(IResultCallback callback);
示例代码
ThingHomeSdk.getUserInstance().cancelAccount(new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
});
由于一些异常或者在一段时间(例如 45 天)不操作账号,用户登录的会话(Session)由会失效掉。同时,修改账号密码、注销用户账户后,也会产生会话过期。这时候需要您引导用户退出应用,重新登录,从而获取 Session。
建议您在 Application 中注册会话过期的监听。一旦出现此类回调,请跳转到登录页面,让用户重新登录。
接口说明
ThingHomeSdk.setOnNeedLoginListener(INeedLoginListener needLoginListener);
实现回调
needLoginListener.onNeedLogin(Context context);
代码示例
ThingHomeSdk.setOnNeedLoginListener(new INeedLoginListener() {
@Override
public void onNeedLogin(Context context) {
}
});
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈