3。代码实现
初始化SDK
初始化推荐在游戏初始化过程中进行,析构函数则在游戏退出前执行。
mOpeCenter = OperateCenter.getInstance();
mOpeConfig = new OperateCenterConfig.Builder(this)
。setGameKey(“APPKEY”) //设置AppKey
。setDebugEnabled(false) //设置DEBUG模式,用于接入过程中开关日志输出,发布前必须设置为false或删除该行。默认为false。
。setOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) //设置横竖屏方向,默认为横屏,现支持横竖屏,和180度旋转
。setSupportExcess(true) //设置服务端是否支持处理超出部分金额,默认为false
。setPopLogoStyle(PopLogoStyle.POPLOGOSTYLE_ONE) //设置悬浮窗样式,现有四种可选
。setPopWinPosition(PopWinPosition.POS_LEFT) //设置悬浮窗默认显示位置,现有四种可选
。build();
mOpeCenter.setConfig(mOpeConfig);
mOpeCenter.init(new OperateCenter.OnInitGloabListener() {
// 初始化结束执行后回调
@Override
public void onInitFinished(boolean isLogin, User userInfo) {
assert(isLogin == mOpeCenter.isLogin());
}
// 注销帐号的回调, 包括个人中心里的注销和logout()注销方式
// fromUserCenter区分是否是从个人中心注销的,若是则为true,不是为false
@Override
public void onUserAccountLogout(boolean fromUserCenter, int resultCode) {
}
// 个人中心里切换帐号的回调
@Override
public void onSwitchUserAccountFinished(User userInfo) {
}
});
是否支持处理超出部分金额也可单独设置
mOpeCenter.setSupportExcess(support);
能否支持处理超出部分金额指在使用SDK充值时,由于用户选择的充值渠道不同,可能造成实际充值金额超出游戏下单时传入的金额。如果游戏服务端能够正确处理超出部分的金额,则本接口传入true。如果无法支持处理超出部分的金额,则传入false,SDK将会根据传入金额自动隐藏无法满足充值金额的渠道(例:开发者设置SupportExcess为false,充值时传入7元,此时4399一卡通中无7元面额的充值卡,此时4399一卡通的充值渠道将自动隐藏)。SupportExcess默认为false。
注:代码中MainActivity为当前Activity。下文的mOpeCenter指OperateCenter实例,通过getInstance()静态方法获得。
用户登录接口
用户在触发登录时,调用该接口,如果SDK内已包含未注销的用户凭证,将自动返回用户信息。如需强制调出登录界面,请使用[用户切换]接口。
mOpeCenter.login(MainActivity.this, new OnLoginFinishedListener() {
@Override
public void onLoginFinished(boolean success, int resultCode, User userInfo)
{
//登录结束后的游戏逻辑
}
});
SDK会自动识别用户手机中是否安装了新版的4399游戏盒1.4.1以上版本,如果已安装,自动跳转至游戏盒授权登录。如果未安装,则弹出Web版4399统一登录界面。 在登录成功后,监听器返回的User类型的用户信息中将包含State登录凭证,该信息可用于游戏服务端进行用户信息二次验证
注:登录后如果未注销,登录状态将一直保持直至登录凭证过期或失效(若用户修改平台账户密码,所有游戏授权凭证将失效,需重新登录)。建议游戏在初始化完成后调用登录状态查询接口查询用户当前登录状态。
获取用户信息
在SDK处于登录状态时,可通过该接口获取当前用户的信息(UID、用户名、昵称、登录凭证)。
User user = mOpeCenter.getCurrentAccount();
账号切换
当用户需要注销当前登录状态,且同时弹出登录界面时,使用本接口。本接口的监听器类型与[用户登录]接口相同。
mOpeCenter.switchAccount(MainActivity.this, new OnLoginFinishedListener() {
@Override
public void onLoginFinished(boolean success, int resultCode, User userInfo)
{
//用户账号切换结束后的游戏逻辑
}
});
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 下一页
0