用户概况开放接口使用指南
如果您在集成过程中遇到任何问题,都可以添加QQ群:385428920,群中会有工程师解答您的问题。
1. 小米云服务开放平台
1.1 Profile存储介绍
-
开发者在用户授权下,可以通过Sdk的Key-Value接口将用户个人数据存储在小米云上。Sdk为Profile提供了单独的访问接口,方便开发者使用,包括上传、部分更改、读取等接口。
-
UserProfile : 用于存储用户的数据信息,包括用户的性别、年龄等信息。应用申请访问身体数据信息的权限,经过用户授权后,就可以访问用户的UserProfile,UserProfile是用户范畴下的数据,每个UserId存储一份。
1.2 应用接入UserProfile
Step1:用户启用账号接入服务
Step2:开启“存储用户的身体数据信息”接口,等待审核通过。
2. API说明
UserProfile类
用于存放UserProfile数据
字段摘要 | ||
---|---|---|
long | birthday | 生日,默认值为0,取值范围>0,格式为19XX0X0X |
UserProfile.Gender | gender | 性别,默认值为null,枚举类,取值为male或female |
public UserProfile( long birthday, UserProfile.Gender gender) 有参构造方法,用于改变多个属性值,注意取值范围
OpenProfileManager类
Profile数据的管理类
1.构建OpenProfileManager
public OpenProfileManager(com.xiaomi.opensdk.pdc.OpenPdcSyncServerAdapter, Environment environment, java.lang.String clientId, java.lang.String accessToken)
参数说明:
- environment:设置Host、UserCountry、UserAgent信息,默认传递OpenPdcSyncServerAdapter.DefaultEnvironment,如果修改可以继承该类,实现自己的Enviroment.
- clientId:在dev.xiaomi.com中创建应用,填入应用名和包名之后 ,小米服务器会分配AppID/AppKey/AppSecret,在随后的页面中可以看到这三个值。其中 AppID 即此处的clientId 。
- accessToken:使用账号OAuth SDK获得的AccessToken,参见http://dev.xiaomi.com/docs/passport/android/
2.Set方法
public void setProfile(com.xiaomi.opensdk.pdc.Profile profile) throws com.xiaomi.opensdk.pdc.exception.UnretriableException, com.xiaomi.opensdk.pdc.exception.RetriableException, com.xiaomi.opensdk.pdc.exception.AuthenticationException用于设置Profile的全部数据
public void setBirthday(long birthday) throws com.xiaomi.opensdk.pdc.exception.UnretriableException, com.xiaomi.opensdk.pdc.exception.RetriableException, com.xiaomi.opensdk.pdc.exception.AuthenticationException
单独设置生日数据,不会影响其他数据
public void setGender(com.xiaomi.opensdk.pdc.UserProfile.Gender gender) throws com.xiaomi.opensdk.pdc.exception.UnretriableException, com.xiaomi.opensdk.pdc.exception.RetriableException, com.xiaomi.opensdk.pdc.exception.AuthenticationException单独设置性别数据,不会影响其他数据
3.Get方法
public com.xiaomi.opensdk.pdc.UserProfile getUserProfile() throws com.xiaomi.opensdk.pdc.exception.UnretriableException, com.xiaomi.opensdk.pdc.exception.RetriableException, com.xiaomi.opensdk.pdc.exception.AuthenticationException获取已设置的身体数据
返回:case1:未设置任何数据,抛出错误
case2:设置部分数据,则已设置部分数据有值,其余数据返回为默认值
case3:设置全部数据,返回全部数据
4.结果&异常处理
Set\Get方法调用过程未抛出异常即代表成功。
若抛出异常,则代表失败,共包括两三种异常——UnretriableException、RetriableException和AuthenticationException
- UnretriableException:参数错误、请求逻辑错误等不可重试错误,开发者需记录e.getDescription(),反馈给SDK开发人员。
- RetriableException:服务器忙、Socket超时等可重试错误,开发者可以e.getRetryTime()在之后时间重试
- AuthenticationException:AccessToken过期或不正确,鉴权失败,开发者需要重新获得用户授权
3. 权限说明
需要开通访问网络权限 < uses-permission android:name="android.permission.INTERNET" />