游戏SDK登录更新时间: 2024-10-18 15:06:00
一、前提条件
完成小米SDK隐私合规[点击直达]
二、功能说明
通过调用登录接口获得用户uid,sessionId及nickName,推荐将登录获得的uid与游戏自身用户Id进行绑定。
在用户每次启动游戏时,都需要调用登录接口获取最新的账号信息。
1、接口说明
/**
* 登录接口
* @param activity 游戏内Activity,在登录完成前不要finish
* @param onLoginProcessListener 登录回调
*/
MiCommplatform.getInstance().miLogin(final Activity activity, final OnLoginProcessListener onLoginProcessListener);
2、登录回调
public interface OnLoginProcessListener {
/**
* @param code 登录结果
* @param account 登录帐号信息
*/
void finishLoginProcess(int code, MiAccountInfo account);
}
3、登录结果
code | 说明 |
0 | 登录成功 |
-12 | 登录取消 |
-102 | 登录失败 |
-18006 | 登录操作正在进行中 |
-18008 | 网络状态异常 |
其他 | 登录失败 |
注:登录失败时请勿直接重新调用登录接口,应在用户主动点击时调用登录接口
4、登录帐号信息MiAccountInfo
参数 | 类型 | 说明 |
uid | long | 用户ID |
sessionId | String | 用户授权session |
nikename | String | 用户昵称 |
5、调用示例
MiCommplatform.getInstance().miLogin(context,
new OnLoginProcessListener() {
@Overridepublic void finishLoginProcess(int code, MiAccountInfo arg1) {
switch (code) {
case MiErrorCode.MI_XIAOMI_PAYMENT_SUCCESS:
// 登录成功
//获取用户的登陆后的UID(即用户唯一标识)long uid = arg1.getUid();
//以下为获取session并校验流程,如果是网络游戏必须校验,如果是单机游戏或应用可选//
//获取用户的登陆的Session(请参考3.3 用户session验证接口)String session = arg1.getSessionId();
//请开发者完成将uid和session提交给开发者自己服务器进行session验证break;
case MiErrorCode.MI_XIAOMI_PAYMENT_ERROR_CANCEL:
case MiErrorCode.MI_XIAOMI_PAYMENT_ERROR_PAY_CANCEL:
// 取消登录
break;
case MiErrorCode.MI_XIAOMI_PAYMENT_ERROR_ACTION_EXECUTED:
//登录操作正在进行中
break;
case MiErrorCode.MI_XIAOMI_ERROR_NETWORK_ERROR:
//设备网络状态异常
break;
case MiErrorCode.MI_XIAOMI_PAYMENT_ERROR_LOGIN_FAIL:
case MiErrorCode.MI_XIAOMI_PAYMENT_ERROR_PAY_FAILURE:
default:
// 登录失败
break;
}
}
});
三、Q&A
Q:登录接口调用失败
A:通常登录接口调用失败是以下原因:
1、未完成小米游戏SDK隐私合规;
2、未完成小米游戏SDK初始化;
3、包名、AppId、Appkey与开发者站不一致,请到开发者站进行确认;