跳转至

使用 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 函数来调用注销功能:

 private void onLogout() {
    SohaSDK.getInstance().logout(MainActivity.this);
}
创建 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 函数