用户相关API

用户体系相关的接口只需要通过一行代码调用,其它的都放在SDK中完成,返回结果在BadamUserListener监听回调中去取UserBean对象。

  • BadamUserListener 回调描述如下:
public interface BadamUserListener {

    /**
     * 与服务器通信完成的回调
     * @param userBean 不为null表示成功, 否则失败
     * @param errorCode 错误码,具体查看接入文档中的错误代码所代表的实际含义
     * @param message 错误提示
     */
    void onUserResult(UserBean userBean, int errorCode, String message);
}

3.1.1 普通原生接口

根据客户端需求,SDK做了两个入口:普通入口和快速登录入口,普通入口有登录和注册页面;快速登录入口没有界面,点击直接进入。普通入口适合重度游戏,强调用户注册登录的应用场景;快速登录入口适合休闲类的小游戏,不强调用户登录注册,希望用户进入游戏就可以直接上手玩儿的。CP在接入的时候根据实际需求自行选择一种接入方式即可。

  • 普通入口

    BadamSdk.getInstance().enterBadamSdk(Activity activity, 
      BadamUserListener listener);
    
  • 快速登录入口

    BadamSdk.getInstance().quickLoginBadamSdk(Activity activity,
      BadamUserListener listener);
    

参数说明:

  • activity 上下文环境, activity
  • listener 回调, {@link BadamUserListener} 实例

3.1.2 可接H5游戏的接口

为了方便在Android原生应用中接入H5小游戏,我们提供了一套接口,与上面的接口的唯一区别就是增加了一个APPID,同样的分为普通入口和快速登录入口,根据实际情况接入。

  • 普通入口

    BadamSdk.getInstance().enterBadamSdkSub(Activity activity, 
      String appId, BadamUserListener listener);
    
  • 快速登录入口

    BadamSdk.getInstance().quickLoginBadamSdkSub(Activity activity, 
      String appId,BadamUserListener listener);
    

参数说明:

  • activity 上下文环境, activity
  • appId 应用标识,平台申请的时候下发的
  • listener 回调, {@link BadamUserListener} 实例

3.1.3 悬浮窗

悬浮窗是用户体系的入口,在用户登录完成进入客户端之后为用户提供绑定手机号等交互操作。

3.1.3.1 显示悬浮窗

A、登录成功显示

登录成功后,进入主页面显示悬浮窗,操作如下:


BadamSdk.getInstance().showWindow(Activity activity, String gameAppId,
    BadamUserListener listener);

参数说明:

  • activity 上下文环境, activity
  • gameAppId 应用标识,平台申请的时候下发的
  • listener 回调, {@link BadamUserListener} 实例

B、后台切换回来显示

切换到Home或者其他应用,再切换回来后显示,操作如下:


@Override
protected void onResume() {
        super.onResume();
        if(mUser != null){
            BadamSdk.getInstance().showWindow(this);
        }
}

这个时候需要判断当前帐号还是否存在。

3.1.3.2 隐藏悬浮窗

退出游戏时调用隐藏悬浮窗


BadamSdk.getInstance().hideWindow(Activity activity);

操作如下:


@Override
protected void onPause() {
        mPayInterface.onPause(this);
        BadamSdk.getInstance().hideWindow(this);
        super.onPause();
    }

@Override
protected void onDestroy() {
        if(!isFinishing()){
            BadamSdk.getInstance().hideWindow(this);
        }
        super.onDestroy();
}

3.1.4 账号切换

切换帐号时会跳转到账号列表登录页面,用户选择需要的操作,完成操作后,SDK会返回相对应的回调。

BadamSdk.getInstance().toAccountSwitchActivity(Activity activity, 
            BadamUserListener listener);

参数说明:

  • activity 上下文环境, activity
  • listener 回调, {@link BadamUserListener} 实例

说明: 切换成功之后,可以收到相对应的回调,然后CP根据收到的回调更新对应的用户信息;

3.1.5 更新用户角色

客户端在角色信息发生改变时(比如等级升高等)需要上报角色信息,此时就需要调用该接口,具体调用如下:

3.1.5.1 方法说明

BadamSdk.getInstance().addRole(Context context, String appId, String openId,
    String name, String area, String roleId, int level);

更新角色信息时需要提供的参数及其意义请参考下表:

  • context: 上下文
  • appId: 应用APPID
  • openid: 用户唯一标识,登录或注册成功后SDK会返回;
  • name:角色名称,当前游戏的角色名称;
  • area:游戏区服,当前游戏所在哪一区的服务;
  • roleId:角色ID;
  • level:角色等级,当前游戏角色等级,数据类型为[整型];

3.1.6 上报启动日活

为了统计游戏日活,单独写了一个上报日活的接口;

BadamSdk.getInstance().addActive(Context context, String appId, String openId);

参数说明:

  • context: 应用的上下文;
  • appId: 用户ID;
  • openId: 用户openId,可以为空;

3.1.7 通过token的方式登录

通过token登录,这种方式主要应用场景是一个主应用关需要再关联一个子应用;

BadamSdk.getInstance().loginByToken(final Activity activity, 
    String openId, String token, final String subAppId, int ts, 
    String sign, BadamUserListener listener);

参数说明:

  • activity 上下文环境, activity
  • openId 用户的 openId
  • token 用户的 token
  • subAppId 子 APP_ID / 登录的应用
  • ts 时间搓
  • sign 签名
  • listener 回调, {@link BadamUserListener} 实例

3.1.8更新用户信息(带界面,主要是更新头像和昵称)

为了方便CP,SDK特意提供了一个修改用户头像和昵称的界面,修改完直接返回结果,具体接口如下:

BadamSdk.getInstance().upateUserInfo(Activity activity, BadamUserListener listener);

参数说明:

  • activity 上下文环境, activity
  • listener 回调, {@link BadamUserListener} 实例

3.1.9更新用户信息中的某个字段属性(不带界面)

因为不清楚CP还需要修改除了头像和昵称之外的其他字段,所以另外提供了一个不带界面的修改用户信息的接口,如下:

BadamSdk.getInstance().updateAccountInfo(Activity activity, 
   String openId, String token, String icon, String nickName, 
   final BadamListener listener);

参数说明:

  • activity 上下文环境, activity
  • openId 用户的 openId
  • token 用户的 token
  • icon 用户的头像连接地址
  • nickName 用户的昵称
  • listener 回调, {@link BadamListener} 实例

results matching ""

    No results matching ""