使用 SohaGame SDK 登录¶
概述¶
本指南介绍如何在 Android 中集成登录功能。一旦经过授权的用户登录您的游戏,您就可以访问他们的数据,包括显示名称和头像。
开始之前¶
您需要将 SohaGame SDK 集成 到您的 Android 游戏中。
1. 登录¶
创建 onLogin
函数,在登录时调用 SDK 的登录函数:
private void onLogin() {
SohaSDK.getInstance().login(MainActivity.this, new LoginCallback() {
@Override
public void onSuccess(SohaLoginResult loginResult) {
//请通过SohaUser.getInstance().getSohaLoginResult()获取登录结果
Log.d(TAG, "onSuccess: accessToken: " + SohaUser.getInstance().getSohaLoginResult().getAccessToken());
Log.d(TAG, "onSuccess: userID: " + SohaUser.getInstance().getSohaLoginResult().getUserId());
}
@Override
public void onError() {
Log.d(TAG, "onError");
}
@Override
public void onCancel() {
Log.d(TAG, "onCancel");
MainActivity.this.finish();
}
});
}
}
在成功登录后,将调用 onLogin 函数的 onSuccess 函数
用户认证¶
有两种方式可以用来认证用户:
-
服务对服务(S2S)认证(推荐)。
在获取访问令牌后,游戏将其发送到游戏服务器,然后游戏服务器将向 SohaGame 服务器推送请求,以验证正在登录的帐户信息。 !!! note "S2S 认证的 API 文档可以在 这里 查看" -
使用 userId 进行认证。
2. 注销¶
创建 onLogout
函数来调用注销功能:
LogoutCallback
对象以在注销时接收回调:
LogoutCallback logoutCallback = new LogoutCallback() {
@Override
public void onLogout() {
onLogin();
// 在此处编写你的代码
}
需要在此回调中处理游戏内注销
3. 删除账户¶
首先,在游戏界面上需要一个“删除账户”按钮。
当用户点击此按钮时,调用以下方法:
SohaSDK.getInstance().deleteAccount(this, new DeleteAccountCallback() {
@Override
public void onSuccess() {
// 在此处编写你的代码
}
@Override
public void onFail(String message) {
Log.i(TAG, "DeleteAccountCallback: " + message);
}
});
成功删除后将调用 onSuccess 函数