帮助与文档

> >

介绍

UMSSDK是用户管理系统SDK,实现了登录、注册、个人资料、添加好友,添加关注等好友关系的功能。首先,调用无界面API之前,需要先集成好UMSSDK,若还未集成,请先按照UMSSDK 快速集成文件进行集成。在集成过程中不需要使用UMSSDK提供的界面的话不需要添加UMSSDK-GUI。

一、接口类说明

无界面代码集中于UMSSDK类,对外提供了一系列相关联的方法供开发者使用,UMSSDK类位于com.mob.ums包下。

二、UMSSDK API

方法名称 参数列表 返回值 使用说明
loginWithPhoneNumber String country 国家代码,如:中国对应86
String phone 手机号码
String password 密码
OperationCallback callback 操作回调
 User 返回user对象 以手机号码登录。成功后返回当前账号的User对象
loginWithSocialAccount SocialNetwork sn 第三方平台
OperationCallback callback 操作回调
User 返回user对象 以社交账号码登录。成功后返回当前账号的User对象
sendVerifyCodeForRegitser String country 国家代码,如:中国对应86
String phone 手机号码
OperationCallback callback 操作回调
请求用于注册的短信验证码
成功后返回true或false,表示是否已经智能验证
sendVerifyCodeForResetPassword String country 国家代码,如:中国对应86
String phone 手机号码
OperationCallback callback 操作回调
请求用于重置密码的短信验证码
成功后返回true或false,表示是否已经智能验证
registerWithPhoneNumber String country 国家代码,如:中国对应86
String phone 手机号码
String vcode 验证码
String password 密码
User user 一同提交注册的用户资料
OperationCallback callback 操作回调
 User 返回user对象 以电话号码执行注册
成功后返回当前账号的User对象
resetPasswordWithPhoneNumber String country 国家代码,如:中国对应86
String phone 手机号码
String vcode 验证码
String password 密码
User user 一同提交注册的用户资料
OperationCallback callback 操作回调
以电话号码执行重置密码
getQuery QueryView view 能用于Query的View的枚举 Query 执行Query操作的对象 返回一个query工具来往服务器查询数据
updateUserInfo HashMap<String, Object> updates 需要修改的字段名称及其值
OperationCallback callback 操作回调
更新用户资料
uploadAvatar String path 头像文件的本地路径
OperationCallback callback 操作回调
上传头像
成功后返回一个包含“id”和“avatar”的HashMap<String, Object>,分别表示“头像id”和“头像url数组”
changePassword String newPassword 新密码
String oldPassword 老密码
OperationCallback callback 操作回调
修改密码
logout OperationCallback callback 操作回调 注销
bindPhone String country 国家代码,如:中国对应86
String phone 手机号码
String vcode 验证码
String password 密码
OperationCallback callback 操作回调
将电话号码绑定为一种登录方式
bindSocialAccount SocialNetwork sn 第三方平台
OperationCallback callback 操作回调
将指定社交平台绑定为一种登录方式
getLoginUserToken String token 获取登录用户token,返回当前登录用户token
getLoginUserId String userId 获取登录用户userId,返回当前登录用户userId
isBindPhone OperationCallback callback 操作回调 boolean 是否已绑定手机号,返回true表示已绑定,false表示未绑定
getLoginUser OperationCallback callback 操作回调 User 返回user对象 获取当前登录用户信息返回User
getUserListByIDs String[] ids 数组,用户id数组,用户查询多个用户信息
OperationCallback callback 操作回调
ArrayList<User> 获取多个用户信息,返回匹配的User集合
getFrinds User user 用户User
int offset 当前页数
int pageSize 每页数量
OperationCallback callback 操作回调
ArrayList<User> 获取好友列表,返回好友的User集合
addFriend User user 用户User
String message 好友请求留言信息
OperationCallback callback 操作回调
添加好友
deleteFriend User user 用户User
OperationCallback callback 操作回调
删除好友
getAddFriendRequests User user 用户User
int offset 当前页数
int pageSize 每页数量
OperationCallback callback 操作回调
ArrayList<FriendRequest> 获取加好友请求列表,返回加好友请求的FriendRequest集合
replyFriendRequesting String requesterId 好友请求id
boolean accept 是否接受好友请求
OperationCallback callback 操作回调
回复好友请求
getFans User user 用户User
int offset 当前页数
int pageSize 每页数量
OperationCallback callback 操作回调
ArrayList<User> 返回粉丝列表,返回粉丝的User集合
deleteFans User user 用户User
OperationCallback callback 操作回调
删除粉丝
getFollowings User user 用户User
int offset 当前页数
int pageSize 每页数量
OperationCallback callback 操作回调
ArrayList<User> 获取关注列表,返回关注的User集合
followUser User user 用户User
OperationCallback callback 操作回调
关注某个用户
stopFollow User user 用户User
OperationCallback callback 操作回调
取消关注
getRFriends User user 用户User
int offset 当前页数
int pageSize 每页数量
OperationCallback callback 操作回调
ArrayList<User> 获取互粉列表, 返回互粉的User集合
getBlockings User user 用户User
int offset 当前页数
int pageSize 每页数量
OperationCallback callback 操作回调
ArrayList<User> 获取黑名单列表,返回黑名单的User集合
blockUser User user 用户User
OperationCallback callback 操作回调
拉黑某人
stopBlock User user 用户User
OperationCallback callback 操作回调
取消拉黑
search String keyword 搜索内容
int offset 当前页数
int pageSize 每页数量
OperationCallback callback 操作回调
ArrayList<User> 根据昵称、id或者电话号码搜索一个人,返回匹配的User集合
isMyFriends Text[] ids 用户id数组
OperationCallback callback 操作回调
Set<String> 判断是否是我的好友,返回我的好友列表数据,通过id比对是否是好友
isMyFans User user 用户User
OperationCallback callback 操作回调
boolean 判断一个人是否我的粉丝,返回true表示是我的粉丝,false表示不是我的粉丝
isMyFollowing User user 用户User
OperationCallback callback 操作回调
boolean 判断一个人是否我的关注,返回true表示已关注,false表示未关注
isMyBlocking User user 用户User
OperationCallback callback 操作回调
boolean 判断一个人是否已被拉黑,返回true表示已拉黑,false表示未拉黑
getNewFriendsCount OperationCallback callback 操作回调 ArrayList<String> 获取新的好友数量,返回好友请求id集合

请注意,在调用任何操作之前,需要初始化SDK:

MobSDK.init(context);

所以,一般调用代码的方法如下:

// 初始化SDK
MobSDK.init(context);

// 执行登录
UMSSDK.loginWithPhoneNumber("86", "13800138000", "123abc", new OperationCallback<User>() {
    public void onSuccess(User user) {
        // 执行成功的操作
    }

    public void onCancel() {
        // 执行取消的操作
    }

    public void onFailed(Throwable t) {
        // 提示错误信息
    }
});

三、Query API

UMSSDK不提供直接获取用户数据的办法,而是提供了一套通用的Query API。您可以通过这套工具向服务端查询想要的数据。其主要方法列述如下:

方法名称 参数列表 返回值 使用说明
condition Condition condition
查询条件,包括:
大于、小于、等于、不等于、大于等于、小于等于、集合、与、或和非
Query 设置查询的条件
fields String… fields
指定要查询的字段
Query 设置返回数据每一个元素包含的字段,缺省为全部返回
sort Sort… sorts
指定优先级的字段排序方式
Query 根据设置的字段,对返回数据进行排序
offset int offset
返回数据在搜索结果中的偏移值
Query 设置从搜索结果的何处开始返回数据,缺省为从第0条开始
size int size
返回数据的最大个数
Query 设置返回数据的总量,缺省为最多50条
query String 执行查询,为联网阻塞操作,返回一个json结果

一般执行一次查询的可能步骤如下:

new Thread() {
    public void run() {
        try {
            User me = new User();

            // 从UMSSDK中获取一个用于查询用户信息的Query对象
            Query q = UMSSDK.getQuery(QueryView.USERS);
            // 设置查询条件:用户ID = 登录用户的ID
            q.condition(Condition.eq(me.getIdName(), Text.valueOf(UMSSDK.getLoginUserId())));
            // 解析查询结果为一个HashMap
            HashMap<String, Object> res = new Hashon().fromJson(q.query());
            // 从HashMap中读取搜索结果集
            ArrayList<Object> list = (ArrayList<Object>) res.get("list");
            // 其中第一个元素就是当前用户的资料
            HashMap<String, Object> info = (HashMap<String, Object>) list.get(0);
            // 将资料解析到User对象中
            me.parseFromMap(info);
            // 执行获取用户后的操作
        } catch (Throwable t) {
            // 执行发生错误时的操作
        }
    }
}.start();

UMSSDK当前提供了六个可供Query的View,分别为:

名称 说明
QueryView.USERS 用于查询用户信息
QueryView.BINDED_LOGIN_METOHDS 用于查询绑定在登录用户账号上的第三方社交平台列表
QueryView.FRIENDS 用于查询我的好友列表
QueryView.RELATIONSHIP 用于查询我的关注、粉丝和互粉列表
QueryView.BLOCKS 用于查询我的黑名单列表
QueryView.FRIEND_REQUESTS 用于查询加好友请求列表

此外,并不是所有的数据类型都可以用来执行检索,只有下面特定的类型才能使用:

类型 说明
Bool 布尔类型
Number 数值类型
Date 时间类型
Text 字符串类型

这些数据类型都位于“com.mob.jimu.query.data”包下。

四、User字段

User类是UMSSDK的核心数据结构,用于解析和存放用户资料,它包括默认的和自定义两类字段,其中默认字段包括:

字段 类型 说明
id String 用户id。只提供get方法
nickname String 昵称
avatarId String 头像id。内部字段,在上传头像过程中使用
avatar String[] 用户头像,包含多种尺寸
phone String 电话号码
gender Gender 性别,枚举类型
birthday Date 生日
age Integer 年龄
constellation Constellation 星座,枚举类型
zodiac Zodiac 生肖,枚举类型
country Country 国家,枚举类型
province Province 省份,枚举类型
city City 城市,枚举类型
signature String 签名
email String 电子邮箱
address String 地址
zipCode Long 邮政编码
resume String 简介

这些字段除了id,都可以通过get、和set两个方法来获取或者修改其在本地的值。

至于自定义字段,User提供下面的方法来设置和获取:

方法名称 参数列表 返回值 使用说明
setCustomField String key 字段名称
DataType<?> value 字段的取值,只能是上诉4中特定类型
添加一个自定义字段
getCustomField String key 字段名称 DataType<?> 返回一个自定义字段
getCustomFields HashMap<String, DataType<?>> 返回所有的自定义字段及其值

五、特殊异常信息

在一些特殊的情况下,用户可能需要执行“重新登录”的操作,这个时候UMSSDK会对外抛出一个“ShouldReloginException”异常。您需要捕获这个异常,并引导用户回到登录页面。

相关文档