背景:
目前游戏存在对于接入的sdk存在两种形式,单Activity和多Activity模式
单Activity:游戏只有一个Activity,作为游戏的主入口
多Activity:游戏存在多个Activity,界面层级不固定
对于单Activiy不会存在太多问题,但是多Activity问题相对会比较多,比如我们sdk有浮窗,可以在这种情况下会被游戏的界面遮挡。
对于游戏有个共同的问题,就是选择在什么时候选择用View还是Activity,如果选择不好的话,当弹出sdk界面的时候,会阻碍游戏的进程,以至于游戏运行卡顿、花屏,甚至崩溃
设计:
1、api总揽
XQSDK.getInstance().init(this);//初始化接口
//生命周期处理
XQSDK.getInstance().onCreate();
XQSDK.getInstance().onResume();
XQSDK.getInstance().onRestart();
XQSDK.getInstance().onStart();
XQSDK.getInstance().onPause();
XQSDK.getInstance().onStop();
XQSDK.getInstance().onDestroy();
XQSDK.getInstance().onActivityResult(requestCode, resultCode, data);
XQSDK.getInstance().onConfigurationChanged(newConfig);
XQSDK.getInstance().onNewIntent(intent);
XQSDK.getInstance().onBackPressed();
//设置监听事件
XQSDK.getInstance().setSDKListener(new IXQSDKListener() {
@Override
public void onResult(Response res) {
}
@Override
public void onPayResult(Response res) {
}
@Override
public void onLogout(Response res) {
}
@Override
public void onLoginResult(LoginResult logRes) {
}
@Override
public void onExit(Response arg0) {
}
}
XQUser.getInstance().login();//登陆
//支付
PayParams params =new PayParams();
params.setRoleId("rid_001"); //角色编号
params.setRoleName("花无缺"); //角色名称
params.setRoleLevel("99"); //角色等级
params.setServerId("sid_001"); //区服编号
params.setServerName("江湖一区"); //区服名称
params.setProductId("pid_101"); //商品编号
params.setProductName("飞羽扇"); //商品名称
params.setProductDesc("花无缺专属武器"); //商品描述
params.setPrice("1"); //充值金额(整型)
params.setOrderID("cp_orderId_001"); //CP订单号
params.setAttach("扩展参数"); //扩展字段
XQPay.getInstance().pay(params);
XQUser.getInstance().logout();//注销
XQUser.getInstance().exit();//推出游戏
//数据统计
UserExtraData userData =new UserExtraData();
userData.setDataType(1); //数据统计类型 1:登录 2:注册 3:登出 4:创建角色 5:角色升级
userData.setRoleID("rid_001"); //角色编号
userData.setRoleName("花无缺"); //角色名称
userData.setRoleLevel("99"); //角色等级
userData.setServerID("sid_001"); //区服编号
userData.setServerName("江湖一区"); //区服名称
userData.setMoneyNum(9099); //玩家剩余金币
userData.setUid("hwq2355617592"); //玩家编号
userData.setAttach("0"); //扩展字段
XQData.getInstance().submitUserData(userData);