账号和用户SDK提供了账号能力,包括注册、登录、登出、获取账号、会话管理、人机校验等功能,还提供了UI集成显示、UI定制等能力。
依赖SDK | 概述 |
API通道 | 提供API通道能力 |
初始化
初始化的操作请参见SDK初始化。
内置账号
内置账号为生活物联网平台提供的账号能力,您在客户端集成后即可使用。包括以下内容。
基础功能
基础功能包括:注册、登录、退出登录、忘记密码、注销账号等。
注册
调用登录页面后,在登录页面内会出现注册和忘记密码的功能,无需额外开发。
登录
目前平台已经支持两种登录方式:账号登录、邮箱登录。登录页面调起后,两种登录方式都可以使用。
LoginBusiness.login(new ILoginCallback() { @Override public void onLoginSuccess() { Log.i(TAG,"登录成功"); } @Override public void onLoginFailed(int code, String error) { Log.i(TAG,"登录失败"); } });
退出登录
LoginBusiness.logout(new ILogoutCallback() { @Override public void onLogoutSuccess() { Log.i(TAG,"登出成功"); } @Override public void onLogoutFailed(int code, String error) { Log.i(TAG,"登出失败"); } });
忘记密码
在调起登录页面后,在登录页面内会出现注册和忘记密码的功能,无需额外开发。
注销账号
注销账号的时候,同时会把用户绑定的设备都解除绑定关系,请参见注销账号。
修改个人信息
Map<String, Object> map = new LinkedHashMap<>(); map.put("displayName", newName); OpenAccountUIService oas = OpenAccountSDK.getService(OpenAccountUIService.class); oas.updateProfile(getApplicationContext(), map, new LoginCallback() { @Override public void onSuccess(OpenAccountSession openAccountSession) { } @Override public void onFailure(int i, String s) { } });
修改头像
需要先将头像图片存储到云端,获取该图片的URL,再用如下方式更新。
Map<String, Object> map = new LinkedHashMap<>(); map.put("avatarUrl", avatarUrl); OpenAccountUIService oas = OpenAccountSDK.getService(OpenAccountUIService.class); oas.updateProfile(getApplicationContext(), map, new LoginCallback() { @Override public void onSuccess(OpenAccountSession openAccountSession) { } @Override public void onFailure(int i, String s) { } });
刷新会话
LoginBusiness.refreshSession(true, new IRefreshSessionCallback() { @Override public void onRefreshSuccess() { Log.i(TAG,"刷新Session成功"); } @Override public void onRefreshFailed() { Log.i(TAG,"刷新Session失败"); } });
获取会话ID
添加以下代码,获取当前会话的ID号。
LoginBusiness.getSessionId();
获取用户信息
添加以下代码,获取当前登录用户的信息。
LoginBusiness.getUserInfo();
切换OA语言
Android App切换SDK语言时会同步切换OA的语言,您无需额外开发。切换SDK语言请参见通用SDK。
自定义登录页面
参照Demo App代码里的SDKInitHelper类postInit方法来定制您的登录页面。获取Demo App源码请参见创建自有App。
自定义UI
三方自有账号
在对接三方自有账号之前,须先确认默认的账号页面(内置账号体系)可以正常注册和登录,并完成SDK的初始化。SDK初始化请参见SDK初始化。
选择自有账号通过OAuth 2.0协议接入,配置流程参见用户账号开发指南。
三方自有账号在自有服务器上登录成功之后,获取Authorization Code(请参见用户账号开发指南),然后调用以下方法完成认证。
LoginBusiness.authCodeLogin(authCode, new ILoginCallback() {
@Override
public void onLoginSuccess() {
}
@Override
public void onLoginFailed(int i, String s) {
Log.d(TAG, "code: " + i + ", str: " + s);
}
});
在调用登录或者登出接口时,直接调用LoginBusiness.login
和LoginBusiness.logout
两个方法即可。